摘要: 可以看到该命令对于英文字符,数字不会转换而是直接输出,而对于每个中文字符则转换成以\u开头的4个16进制数字。
通常情况下,如果要进行字符的逆转换,-encoding encoding_name这个参数都会配合-reverse出现。在上面的例子中因为本地系统是中文操作系统,所以即便没有指定-encoding也可以正确地从unicode ---》GBK。如果是在英文平台下由于默认字符集是ISO-8859-1,那么这个时候如果不指定则转换出来的将是?了。
阅读全文
posted @
2010-02-23 18:41 Paul Lin 阅读(867) |
评论 (0) |
编辑 收藏
摘要: 可以看到在Java中,字符的unicode有两种表示显示:一种是10进制形式,一种是16进制形式。它们可以分别通过:int i = (int)(string.charAt(i))和Integer.toHexString(i);获得。而且在java文件和Web页面,同一个unicode的表示形式是不同。web页面需要用进行转义,在java文件中则使用\u进行转义。
阅读全文
posted @
2010-02-23 16:48 Paul Lin 阅读(2118) |
评论 (2) |
编辑 收藏
摘要: 在这个专题的第一篇文章【Java基础专题】编码与乱码(01)---编码基础 开头,我们就已经介绍了这个规则:
①得到每个字符的2进制GBK编码
②将该16进制的GBK编码转换成2进制的字符串(2个字节)
③分别在字符串的首位插入110,在第9位插入10,在第17位插入10三个字符串,得到3个字节
④将这3个字节分别转换成16进制编码,得到最终的UTF-8编码。
阅读全文
posted @
2010-02-22 23:00 Paul Lin 阅读(36954) |
评论 (11) |
编辑 收藏
摘要: 谨慎地使用getBytes(NAME_OF_CHARSET)和new String(bytes, NAME_OF_CHARSET),除非你很清楚的知道原始的字符编码和传输协议使用的编码。
推荐使用基于服务器的配置、过滤器设置request/response的characterEncoding、content type属性。还有就是JSP页面的pageEncoding属性、HTML meta元素的content type属性。尽量避免频繁的在代码中进行字符串转码,即降低了效率又增加了风险
阅读全文
posted @
2010-02-22 17:39 Paul Lin 阅读(3028) |
评论 (4) |
编辑 收藏
摘要: 这个方法再次证明了String的getBytes()方法的危险性,如果我们使用new String(str.getBytes(), encoding)对字符串进行重新编码解码时,我们一定要清楚str.getBytes()方法返回的字节数组的长度、内容到底是什么,因为在接下来使用新的encoding进行编码解码时,Java并不会自动地对字节数组进行扩展以适应新的encoding。而是按照新的编码方法直接对该字节数组进行解析。
于是结果就像上面的例子一样,同样是4个原始字节,有些每2个一组进行解析,有些每个一组进行解析,有些每3个一组进行解析。其结果就只能看那种编码方式合适了。
阅读全文
posted @
2010-02-22 17:18 Paul Lin 阅读(7076) |
评论 (2) |
编辑 收藏
摘要: 不要轻易地使用或滥用String类的getBytes(encoding)方法,更要尽量避免使用getBytes()方法。因为这个方法是平台依赖的,在平台不可预知的情况下完全可能得到不同的结果。如果一定要进行字节编码,则用户要确保encoding的方法就是当初字符串输入时的encoding。
阅读全文
posted @
2010-02-22 16:53 Paul Lin 阅读(4576) |
评论 (1) |
编辑 收藏
摘要: Unicode到UTF-8的转换:Unicode的16进制编码<-->对应的2进制编码<-->UTF-8规范的2进制编码<-->UTF-8规范的16进制编码
也就是说,假如我们需要从磁盘文件、数据库记录、网络传输一些字符,保存到Java的变量中,要经历由bytes-->encode字符-->Unicode字符的转换(例如new String(bytes, encode));而要把Java变量保存到文件、数据库或者通过网络传输,系统要做一个Unicode字符-->encode字符-->bytes的转换(例如String.getBytes([encode]))
阅读全文
posted @
2010-02-16 23:23 Paul Lin 阅读(3660) |
评论 (3) |
编辑 收藏
在天涯论坛搞到的,要感谢提供这个攻略的网友“海南小椰妹”,不过话说回来,不知道看完这篇攻略,你还有没有兴趣去海南三亚了。有时候旅游就是冲着未知的前方而去的,如果什么都攻略了那就感觉没有啥意外和惊喜了。
再次感谢一下这个海南小椰妹!
海南三亚旅游攻略
posted @
2010-01-27 15:33 Paul Lin 阅读(327) |
评论 (0) |
编辑 收藏
摘要: Informa不仅提供了对不同版本的RSS Feed source的读入和解析,同样也提供了将channel object导出为不同协议版本的XML文件的功能。这个功能是通过exporters包下的各个导出类来完成的。目前仅支持对RSS协议的导出,不支持Atom协议、OPML协议的导出。
阅读全文
posted @
2010-01-04 10:15 Paul Lin 阅读(396) |
评论 (0) |
编辑 收藏
摘要: OPML(Outline Processor Markup Language)协议正是用于解决这样问题的。利用OPML协议,我们可以通过阅读器把已经订阅的频道导出为OPML协议规定的格式,从而作为
一个文件分享出去。
阅读全文
posted @
2010-01-02 20:56 Paul Lin 阅读(335) |
评论 (0) |
编辑 收藏