`
kimmking
  • 浏览: 537707 次
  • 性别: Icon_minigender_1
  • 来自: 中华大丈夫学院
社区版块
存档分类
最新评论

编码和字符集: 乱码的根源和常见的处理方式

XML 
阅读更多
总的来说,编码和字符集,就像方言和字典。
常用的unicode字符集,就是一个大字典。
字符串作为一个string的时候,一般都是用内码表示,没有乱码问题。
当String向外传输的时候,需要转换成byte[],使用不同的编码方式,结果的byte数组是不同的。拿到byte[]的人,需要还原为string,如果不知道其编码,就可能出现乱码问题。所以,byte[]转String时,是乱码出现的关键,此时必须知道byte的编码。
有两个常用的处理方式:数据头部里指定编码、转换成编码无关的格式(一般使用不会乱码的ASCII字符集的一个子集)。
对于前一种方式: http中,我们通过request/response头部,明确的制定body中二进制内容的编码。utf-8的文本文件中的bom头。xml文件更严格,要求xml头和文件本身编码一致。
对于后一种方式:比如URLencode,按unicode字符集内码的编号(整数),再转成16进制,再每两位加%,htmlencode除了escape的字符外,也是%u内码。base64取了64个可显示的ASCII字符做底。
2
1
分享到:
评论
2 楼 dietime1943 2012-03-09  
zhangyou1010 写道
tomcat下,一般怎么处理编码问题呢?

你说的就好比 object应该去实例什么一样
1 楼 zhangyou1010 2011-06-24  
tomcat下,一般怎么处理编码问题呢?

相关推荐

Global site tag (gtag.js) - Google Analytics