+ -
当前位置:首页 → 问答吧 → 用二进制读取(读入char)含有中文的txt的时候会出现负数

用二进制读取(读入char)含有中文的txt的时候会出现负数

时间:2011-12-15

来源:互联网

用二进制读取(读入char)含有中文的txt的时候会出现负数。
中文肯定不存在在ascii里,但是为什么出现负数啊...

最主要的问题在这里:
我在做哈弗曼压缩算法的时候出现问题的时候出现的,如果有负数,那就对字符出现频率次数的统计有难度了。
因为数组的下标不能是负数

读出来的是 -68 -54 -...
都是负数,这就是说不能最含有中文的文件进行压缩了,只能够对只含有ascii字符的文件进行压缩0.......
高手救命啊

作者: daoluanxiaozi   发布时间: 2011-12-15

用unsigned char 试试

作者: keiy   发布时间: 2011-12-15

引用 1 楼 keiy 的回复:

用unsigned char 试试

太牛逼了,但问题又来了

不过这样的话要进行统计的话,就涉及到很大的数组了....因为unsigned char 2^16,这改怎么进行统计呢??????????

作者: daoluanxiaozi   发布时间: 2011-12-15

unsigned char 的范围为0~255,不是2^16次方,不大的数组

作者: keiy   发布时间: 2011-12-15

mark说不定以后会用得到。

作者: c87527124   发布时间: 2011-12-15