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

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

51Testing软件测试网|RlHm

使用tcpdump抓包得到下面的数据:51Testing软件测试网8kOc a~!spk

0x0040  6c2e 6a73 703f 444e 3d43 2533 6443 4e25       l.jsp?DN=C%3dCN%

UD3A3x.z2j00x0050  3263 4f25 3364 4346 4341 2532 3054 4553       2cO%3dCFCA%20TES51Testing软件测试网)SC0b%_2Mgm9F+S`j

0x0060  5425 3230 4341 2532 634f 5525 3364 4351       T%20CA%2cOU%3dCQ51Testing软件测试网 y.oE/Pq0u] zmc

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

0f~ l_!B5H00x0080  7269 7365 7325 3263 434e 2533 6430 3431       rises%2cCN%3d041

? Z?}cSI00x0090  2534 3034 3131 3131 3125 3430 2545 3625       %40411111%40%E6%51Testing软件测试网Y^rPDB

0x00a0  3932 2541 3425 4539 2539 3425 3830 2534       92%A4%E9%94%80%4

5H&KRuV)d.|00x00b0  3030 3030 3030 3030 3125 3030 2653 4e3d       000000001%00&SN=

X(M([*J/\$UF~E00x00c0  3631 6266 6661 3836 6533 6536 6261 6163       61bffa86e3e6baac

p%@~4RxU:aoD00x00d0  3239 3061 3063 6134 3738 6464 3064 3865       290a0ca478dd0d8e51Testing软件测试网n D(x.uPU0?Om;Aa

0x00e0  2530 3026 696e 666f 7365 633d 3139 3225       %00&infosec=192%51Testing软件测试网aTPJ Il

0x00f0  3265 3136 3825 3265 3025 3265 3131 3620       2e168%2e0%2e116.

&dn([|9i@0

CE#Mt9m)B x0可以使用下面的方法确定%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其他步骤同上。

]j/h(] txE`6u+`0 注,在UltraEdit中查看ASCII表:选择view->ASCII table,调出ASCII51Testing软件测试网.~P]Y$J)t,M$U(kj

51Testing软件测试网"]8Z.sS5uW-] I3B

 51Testing软件测试网"LW?P!g,vo5J

51Testing软件测试网2gt8I/\U#ez

注:2007年5月28日写于msn共享空间51Testing软件测试网*s#D bl8e8R\eD


TAG: 其它 utf-8 gbk

 

评分:0

我来说两句

Open Toolbar