很好的参考:[url]http://sunfish.blog.51cto.com/417500/142577/[/url]
编码解码分析(仅是乱码的一种情况):
中文的utf-8编码是 每个中文用三个字节来编码,比如下面例子生成6个字节:
c1:
c2:
c1,c2是编码过程,再把c1,c2的字节序列按照iso-8859-1解码,我们可以从[url]这里http://en.wikipedia.org/wiki/ISO_8859-1[/url]查结果
c3:
结果:“[size=xx-large]亢ç£[/size]”是六个字节,byte数值-十六进制-iso-8859-1符号对应关系分别是:
byte数值-十六进制-iso-8859-1符号
[table]
|byte数值|十六进制|iso-8859-1符号|iso-8859-1|
|-28|e4|[size=xx-large]ä[/size]|[img]http://dl.iteye.com/upload/picture/pic/61523/1c65b123-fc14-3f4e-86b0-3d4b99002813.png[/img]|
|-70|ba|[size=xx-large]º[/size]|[img]http://dl.iteye.com/upload/picture/pic/61521/ba27c49b-a889-335e-80a3-61bbf1423496.png[/img]|
|-94|a2|[size=xx-large]¢[/size]|[img]http://dl.iteye.com/upload/picture/pic/61527/8b034c28-26c3-3353-bb81-d5a1613c1762.png[/img]|
|-25|e7|[size=xx-large]ç[/size]|[img]http://dl.iteye.com/upload/picture/pic/61525/6aa4dc72-85a7-3dfd-8347-ad698eecd0f8.png[/img]|
|-93|a3|[size=xx-large]£[/size]|[img]http://dl.iteye.com/upload/picture/pic/61519/50ceb9d6-d809-3059-9069-6d863f86d205.png[/img]|
|-118|8a|[size=xx-large][/size]||
[/table]
编码解码分析(仅是乱码的一种情况):
中文的utf-8编码是 每个中文用三个字节来编码,比如下面例子生成6个字节:
c1:
"亢磊".getBytes("utf-8")
(byte[]) [-28, -70, -94, -25, -93, -118]
c2:
"亢磊".getBytes("iso-8859-1")//63 对应的iso-8859-1表查询是'?',(为什么有时候我们的中文传递过程中变成? ?)
(byte[]) [63, 63]
c1,c2是编码过程,再把c1,c2的字节序列按照iso-8859-1解码,我们可以从[url]这里http://en.wikipedia.org/wiki/ISO_8859-1[/url]查结果
c3:
new String("亢磊".getBytes("utf-8"),"iso-8859-1")//每个字节对应iso-8859-1对照表中的一个字符,所以结果为6个字符。(经常看到的乱码?)
(java.lang.String) 亢ç£
结果:“[size=xx-large]亢ç£[/size]”是六个字节,byte数值-十六进制-iso-8859-1符号对应关系分别是:
byte数值-十六进制-iso-8859-1符号
[table]
|byte数值|十六进制|iso-8859-1符号|iso-8859-1|
|-28|e4|[size=xx-large]ä[/size]|[img]http://dl.iteye.com/upload/picture/pic/61523/1c65b123-fc14-3f4e-86b0-3d4b99002813.png[/img]|
|-70|ba|[size=xx-large]º[/size]|[img]http://dl.iteye.com/upload/picture/pic/61521/ba27c49b-a889-335e-80a3-61bbf1423496.png[/img]|
|-94|a2|[size=xx-large]¢[/size]|[img]http://dl.iteye.com/upload/picture/pic/61527/8b034c28-26c3-3353-bb81-d5a1613c1762.png[/img]|
|-25|e7|[size=xx-large]ç[/size]|[img]http://dl.iteye.com/upload/picture/pic/61525/6aa4dc72-85a7-3dfd-8347-ad698eecd0f8.png[/img]|
|-93|a3|[size=xx-large]£[/size]|[img]http://dl.iteye.com/upload/picture/pic/61519/50ceb9d6-d809-3059-9069-6d863f86d205.png[/img]|
|-118|8a|[size=xx-large][/size]||
[/table]