今天真不爽,用java从流中读取数据,得到string后,发现这个string的开头总是有些不可见字符。
调试进行,查看构造string的byte【】,然后发现头6个字符是
-17,-69,-65,-17,-69,-65
我感觉应该是2个中文字符掺杂在流头部了。
然后转换成16进制表示得到efbbbf
网上一查,原来这3个byte是微软用于标识这个流是utf-8流才加入的。
貌似其他平台没有遇到过这个现象。
今天真不爽,用java从流中读取数据,得到string后,发现这个string的开头总是有些不可见字符。
调试进行,查看构造string的byte【】,然后发现头6个字符是
-17,-69,-65,-17,-69,-65
我感觉应该是2个中文字符掺杂在流头部了。
然后转换成16进制表示得到efbbbf
网上一查,原来这3个byte是微软用于标识这个流是utf-8流才加入的。
貌似其他平台没有遇到过这个现象。