首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java解析UTF8

Java解析UTF8
EN

Stack Overflow用户
提问于 2010-04-06 16:37:18
回答 2查看 807关注 0票数 1

结构如下的UTF8文件有以下问题:

FIELD4 1§FIELD4 2§FIELD4 3§FIELD4 4

查看文件的十六进制值,它使用A7编码§。因此,根据这个编码,它应该是UTF8,但是奇怪的是,因为A7 > 7F,所以1字节不应该足够编码§

因此,我尝试直接使用带有指定字符集的BufferedReader

代码语言:javascript
复制
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(input), utf8))

但是,当我尝试将字符串标记为

代码语言:javascript
复制
SmartTokenizer st = new SmartTokenizer(toTokenize, "§")

( SmartTokenizer是保留空令牌的StringTokenizer的修改版本)

没有发生拆分,如果我试图打印字符串,我将获得

FIELD3 1?FIELD3 2?FIELD3 3?

因此,文件中使用的§不同于指定为分隔符的那个,而且它也无法打印出来。

那么这里有什么问题?也许原始文件应该使用两个字节来存储§

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-06 16:41:54

§的UTF-8编码为0xC2 0xA7.

如果文件使用A7来表示§,那么它可能是ISO-8859-1 (或另一个ISO-8859-*或它们的派生文件)中的写内容。

票数 6
EN

Stack Overflow用户

发布于 2010-04-06 16:41:52

查看文件的十六进制值,它使用A7编码§。所以根据这个成文法,它应该是UTF8

呃,为什么?它是It 8859-1(或拉丁文-1或相关的) 8859-1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2586564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档