Jac*_*ack 1 java utf-8 character-encoding
我有一个UTF8文件的以下问题,结构如下:
FIELD1§FIELD2§FIELD3§FIELD4
查看它用于A7编码的文件的十六进制值§.所以根据这个编码它应该是UTF8,但它很奇怪,因为A7> 7F所以1个字节不足以编纂§.
所以我尝试直接BufferedReader使用指定的字符集:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(input), utf8))
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用字符串标记字符串时
SmartTokenizer st = new SmartTokenizer(toTokenize, "§")
Run Code Online (Sandbox Code Playgroud)
(这SmartTokenizer是StringTokenizer保留空标记的修改版本)
不会发生分裂,如果我尝试打印我获得的字符串
FIELD1?FIELD2?FIELD3?...
因此§在文件中使用的不同于指定为分隔符的文件,并且它也无法打印出来.
那么这里的问题是什么?也许原始文件应该使用2个字节来存储§?