密码:
网络营销 it新闻 军事新闻 社会新闻 it技术 网站优化 游戏资讯 公司资讯
properties乱码使用native2ascii用法说明
发布日期:2013-10-28 阅读数:981 来源:网站建设 由金功呈网站建设公司整理 【关闭】



native2ascii用法

这个实际上不能完全归于java,native2ascii是个相当有用的工具,和语言无关,只是恰好放在了jdk下。

几年前看过网上的一篇文章讲native2ascii的用法(以native2ascii搜索,中文多半都是这一篇),以“熔岩”这两个汉字举例。
作者例子举的很详细,最后得出个结论:
“native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为(生成的)目标文件的编码格式。这一点非常的重要!切记!!”
--------wjm:这个其实是错得.


当时自己也比较懵懂,只看了看gbk编码的怎么转成unicode能当properties用就行了。看了最后这句结论好像貌似有理。
最近正好用到琢磨了一下发现点问题,网上这篇广为流传得一篇文章,误导了很多人
看下面例子的第5条就是个反例。
对于例3,原作者说可以得到结论: -reverse命令中-encoding指定的编码为源文件的编码格式
但其实这个仍然是目标文件的编码,“熔岩”这两个汉字得gbk编码是c8db d1d2,而源文件中是\u00c8\u00db\u00d1\u00d2,同时
iso8859-1正好是一种一字节一字符的编码,以iso8859-1为目标编码正好转成c8db d1d2,我们打开时以gbk解析就看到正常看字了。

因此结论正好是相反的,这样就都说得通了:
“native2ascii -reverse命令中-encoding指定的编码为目标文件的编码格式。而在native2ascii 命令中-encoding指定的编码为源文件的编码格式。" 

附原例子以及我的结论
1.  native2ascii [-encoding gbk] zh.txt i.txt
[GBK]熔岩------>\u7194\u5ca9
2.  native2ascii -encoding ISO8859-1 zh.txt i.txt
[GBK]熔岩------>\u00c8\u00db\u00d1\u00d2
wjm:源文件中是c8dbd1d2,他认为是iso8859-1,但恰好一字节一字符,转完就成目标哪样了
3.    native2ascii -encoding iso8859-1 -reverse i.txt  zh2.txt
\u00c8\u00db\u00d1\u00d2------>[GBK]熔岩
wjm:他的目标是iso8859-1,但恰好一字节一字符,我们打开开始正好是gbk编码的熔岩(即文件中是c8dbd1d2)
4.    native2ascii -encoding utf-8 zh.txt i.txt
[GBK]熔岩------>\ufffd\ufffd\ufffd\ufffd
5.native2ascii -reverse -encoding utf-8 i.txt  utf8.txt
\u7194\u5ca9------>[UTF-8]熔岩


广州金功呈网站建设网微信二维码
  • 深圳市一键一家网络科技有限公司官方网址:http://www.songhu9.com.cn
  • QQ:316675593,电话号码:19807655856
  • 业务范围:公司网站建设、管理软件研发、软件网站二次开发、400电话、电商平台研发、公众号研发!
  • 免责申明:本站内容均来源于网络,版权归原创所有,如有任何版权方面的问题,请与我们联系处理!