这个字符分隔符是什么:^ _?

时间:2014-04-27 07:04:07

标签: unicode encoding character-encoding sqlite unicode-escapes

我将一个SQLite3表(来自Anki卡座)转储到CSV文件中。我发现sfld列由 ^ _ 分隔。

Unicode中的这个字符或转义字符是什么?

Strange separator as seen using Vim

1 个答案:

答案 0 :(得分:3)

它是ASCII(以及ISO 8859-x和Unicode)控制字符中的控制下划线( Control -_ )或0x1F或单位分隔符字符。

ASCII,ISO 8859-x和Unicode中的大写字母都有代码点(所有数字都是十六进制):

41 U+0041 LATIN CAPITAL LETTER A
…
5A U+005A LATIN CAPITAL LETTER Z

后续字符为:

5B U+005B LEFT SQUARE BRACKET
5C U+005C REVERSE SOLIDUS
5D U+005D RIGHT SQUARE BRACKET
5E U+005E CIRCUMFLEX ACCENT
5F U+005F LOW LINE

Control-A 这样的控制字符的代码比小写字母小0x40,所以你有

01 U+0001 START OF HEADING (aka SOH or Control-A)
…
1A U+001A SUBSTITUTE       (aka SUB or Control-Z)

然后你得到:

1B U+001B ESCAPE           (aka ESC or Control-[)
1C U+001C FILE SEPARATOR   (aka FS  or Control-\)
1D U+001D GROUP SEPARATOR  (aka GS  or Control-])
1E U+001E RECORD SEPARATOR (aka RS  or Control-^)
1F U+001F UNIT SEPARATOR   (aka US  or Control-_)