我从高中起就在国外,因为是英语国家所以教授和老师也从来不讲关于非英语的问题。后来我自己编程时一遇到中文总是出现各种各样的意想不到,比如乱码,汉字全是问号
现在我想系统的学习中文处理比如
繁简转换
乱码是怎么出现的
char转换成数字类型是怎么对应的
怎么样从一个字符串或者输入流发现它使用的字符集等等有没有这样的书或者网络教程

解决方案 »

  1.   

    不一定非是基于java的教程
    c,c++,pseudocode都可以
      

  2.   

    这个跟语言关系不大 编码问题
    你可以查查ASC编码UNICODE编码 GB2312编码等等他们之间的区别
    比如ASC编码一个字节搞定 而unicode的编码要两个字节,他们的编码对应也肯定不同,直接转肯定就乱码了
    至于unicode的编码为什么要两个字节是因为要包含汉语以及其他语言的字符集 一个字节只有128个值肯定不够用了
      

  3.   

    在程序中转码的时候每个语言都有对应的方法 比如把二进制byte数组转化为字符串时就需要指定编码是什么类型
    从输入流识别编码这个做不到
      

  4.   

    java是有现成代码的 ibm mozilla 都有相关的类库,你可以去找一下。
    网上也的确有一些中文字符集判断的现成代码,比上述两家的判定代码更实用。
      

  5.   

    可以看看android源码,我把里面c++检查字符串编码的方式(GBK,BIG5,GB2312,UTF-8)抠出来,转成了java。
    小日本和棒子的也有,懒得弄了。