其实不知道该发在哪个板…但我记得GOOGLE相关问题时有看过LINUX板的文章,
所以就发在这了
最近在写个读PTT资料的程式,光在登入画面我就不行了,读出来的都是乱码。经过无数
小时的努力,才发现PTT是用BIG5-UAO编码。好,知道编码就行。还好网络上也找的到
BIG5-UAO转UNICODE的表(跟英文比要找中文资料真是无敌超级难,而且感觉有随时没资
料的可能)。
第一个困难点是,当我一个byte一个byte读登入画面的资料时,发现ASCII
和BIG5-UAO是混在一串的,ASCII一个字是1 byte,BIG5-UAO一个字是2 bytes。
但还好他们二个低位元的数值没有重复(在表里面是这样的),我可以先只读一个位元
来判断目前的值是不是ASCII,如果是就直接显示,不是的话就和下个位元合在一起去
查BIG5-UAO转UNICODE的表。
但伤脑筋的来了,读到后来资料里竟然有不在BIG5-UAO也不是ASCII的位元,请问
我该怎么办? 这个怪东西是 0x50A1。难道我哪里搞错了吗?