免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3144 | 回复: 2
打印 上一主题 下一主题

UTF-16LE 超级郁闷中 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-04 00:02 |只看该作者 |倒序浏览
我翻来覆去转了几个小时,就是转不出来。

我从网上抓了个网页,网页上的代码是UTF-16LE的(虽然其内容说自己是utf8——charset=utf-8,FT)。

如其开头为

  1. 3C 00 68 00 74 00 6D 00 6C 00 3E 00
  2. < h t m l >
复制代码

我要让它变成

  1. 3C 68 74 6D 6C 3E
复制代码


中间有内容如

  1. 84 76

复制代码

我要让它变成

  1. 84 76 #原unicode
复制代码

或者

  1. B5 C4 #gb2312
复制代码


我使用Encode模快尝试了很多组合,比较好的情况是ascii字符可以正常显示,中文乱码,既不是unicode也不是gb2312。binmode也乱设过,都不管用。

现在我实在没力量重新试验以贴出失败代码了。哪位有经验的请指条明路。要是成功了我千万感激。

运行环境是windows。

论坛徽章:
0
2 [报告]
发表于 2006-11-05 08:26 |只看该作者
  1. C:\perl>perl -MEncode -e "$x=<>;Encode::from_to($x, 'UTF16', 'gb2312'); print $x
  2. ;" encode.txt > encode2.txt
复制代码


encode.txt是unicode编码。

论坛徽章:
0
3 [报告]
发表于 2006-11-05 20:34 |只看该作者
  1. $content = encode("gbk", decode("utf8", $content));
复制代码

怪不得我试尽了办法全部失败,原来根本就不是UTF-16LE!
死UltraEdit,Hex模式自动调整编码到Unicode16!气死我了,搞了N久,怎么会这样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP