本帖最后由 Stephen_Chow 于 2013-10-30 10:41 编辑
在《《毕向东Java基础视频教程-day21-07-字符编码》》这个视频里的一个疑问,如图,吧“你好”编码成{-60 -29 -70 -61}。然后用ISO8859-1解码。 因为在ISO8859-1是一个字节代表一个字符。
然后又都没有查到对应的字符,所以就返回位置字符{? ? ? ?},为了解决解码出错的问题,采用在编回去,在解码的方式。但问题出来了。
你那{? ? ? ?}去查ISO859-1的编码,? 代表位置字符,所以他怎么会返回原来的{-60 -29 -70 -61}呢?他应该返回四个一样的,就不能是元数据了。结果却是可以的。
接着老师又将ISO8859-1换成了UTF-8 结果如图二所示。这是的?却不能还原了,老师的解释是:简单的一句话,UTF-8也能识别中文,ISO却不能。
但是我很不理解,我认为应该都不能还原,求解释,么么哒
|
|