再谈日文编码字符显示长度的计算

    技术2022-05-11  14

    将某个日文字符显示出来,无外乎就是去判断是半角还是全角字符,半角的占用一个字节的位置,全角的占用两个字节的位置。最初的想法就是直接根据getBytes("UTF-8").length来判断。结果经过仔细的测试,发现有一小部分的字符并不符合预期的规律。还是老老实实的拿出UNICODE编码表,把日文字符所有的情况都“扣”了出来。 调查过程中发现getBytes().length这个方法挺有意思的。这个方法跟系统环境有关(采用系统默认的编码方式做转换),大家肯定都知道。但是,同样是中文环境,对于同样的一个中文系统不认识的特殊字符(会显示出?),Win2K的结果是1,而WinXP的结果是2。 

    最新回复(0)