让Java给Jruby打工 ... by bd7lx ... 3 月 28 天前 ... 118 次点击
http://cocoalocker.blogspot.com/2008/08/calling-java-from-jruby-to-do-dirty.html
UTF-16的编码模式比较复杂
苹果上的UTF-16BE与windows及linux上的UTF-16LE都不同
扒光 BOM (Byte Order Marker),交给擅长处理的Java来做

字节顺序标记 (BOM)
BOM(Unicode 字符 U+FEFF、ZERO WIDTH NO-BREAK SPACE)可以出现在 XML 实体的开始部分。
在 XML 中,BOM 不仅用于显示输入文本流的字节顺序,而且可以帮助检测字符编码方式。
XML 处理器通常检查输入流的前几个字节,以判断编码方式是否为 UTF-16 或 ASCII,因此 XML
处理器能够读取可能在 XML 标题中提供的编码声明。UTF-16 格式的实体需要具有供自动检测使用的
BOM,因为 UTF-16 编码方式具有两种形式:UTF-16BE(big endian:fe ff)和
UTF-16LE(little endian:ff fe)。
虽然没有字节顺序问题,但 UTF-8 格式的实体可以具有 BOM (ef bb bf)。
BOM 不是文档的一部分,因此不能从用户代码中读取。通常 XML 处理器在必要时添加或删除 BOM。
http://www.kuqin.com/rubycndocument/man/addlib/NKF.html
要ruby一点酒以后,才能结束靠猜的方法认字 |