如何识别utf-8或gbk编码的中文内容

上一篇 / 下一篇  2007-11-28 11:14:49 / 个人分类:其它

5XY'kBQ&L;Spw0使用tcpdump抓包得到下面的数据:

9xsh l2f;^*X DJ00x0040  6c2e 6a73 703f 444e 3d43 2533 6443 4e25       l.jsp?DN=C%3dCN%

pdC&F dh7O00x0050  3263 4f25 3364 4346 4341 2532 3054 4553       2cO%3dCFCA%20TES51Testing软件测试网i+[CL)x9t2r8U v/Q

0x0060  5425 3230 4341 2532 634f 5525 3364 4351       T%20CA%2cOU%3dCQ51Testing软件测试网)S(M0S)]7m M

0x0070  4342 2532 634f 5525 3364 656e 7465 7270       CB%2cOU%3denterp

5BT[{&y^00x0080  7269 7365 7325 3263 434e 2533 6430 3431       rises%2cCN%3d04151Testing软件测试网yLeq W]!mW

0x0090  2534 3034 3131 3131 3125 3430 2545 3625       %40411111%40%E6%

L F/\2E0g00x00a0  3932 2541 3425 4539 2539 3425 3830 2534       92%A4%E9%94%80%451Testing软件测试网B+^-X%y/s-QG

0x00b0  3030 3030 3030 3030 3125 3030 2653 4e3d       000000001%00&SN=

w)J.@M({ {[s00x00c0  3631 6266 6661 3836 6533 6536 6261 6163       61bffa86e3e6baac51Testing软件测试网+Na,YZDK

0x00d0  3239 3061 3063 6134 3738 6464 3064 3865       290a0ca478dd0d8e51Testing软件测试网 q `8]Q4n_

0x00e0  2530 3026 696e 666f 7365 633d 3139 3225       %00&infosec=192%51Testing软件测试网%o6` Z7qr'{rK)?V

0x00f0  3265 3136 3825 3265 3025 3265 3131 3620       2e168%2e0%2e116.51Testing软件测试网k+u Z(g sMF5O}

51Testing软件测试网V@_ M/t)g7i3N2oq V

可以使用下面的方法确定%E6%92%A4%E9%94%80%部分是乱码,还是中文字符的正确表示。

1.        首先确定编码是utf-8还是gbk。由于utf-8用三个码表示一个字,gbk用两个码表示一个字,“%E6%92%A4%E9%94%80%”预期为撤销两个字,因此确定该编码为utf-8编码;

2.        创建一个utf-8编码的文本文件,内容为预期的“撤销两个字”,然后使用UltraEdit打开该文件,切换到十六进制模式(选择工具栏上的“H”),utf-8的前三个码为文件头,因此从第四个码开始与“%E6%92%A4%E9%94%80%”进行比较(%为分隔符),如果一致表示该段编码为中文“撤销”;

3.        如果不一致,将该段编码中的每个码替换到文件中,然后保存,切换到普通模式查看(或直接使用记事本查看),如果为不可打印的字符,则为乱码;

4.        如果编码为gbk编码,则在创建文件时,编码选择ANSI其他步骤同上。

q"w-o8F\0jx:D0 注,在UltraEdit中查看ASCII表:选择view->ASCII table,调出ASCII51Testing软件测试网~ M*kA%SR Gl6lp

51Testing软件测试网"P0[yj![.u.\ z

 

@)?DFGQ-q's w0

#VUd/a(C0注:2007年5月28日写于msn共享空间

3|G4iD%f5K*i Cnt0

TAG: 其它 utf-8 gbk

 

评分:0

我来说两句

Open Toolbar