但是对于中文字符的长度应该是4还是2呀?对于文本编辑器应该一列就是一个字符的长度呀?我不知道这个应该怎么处理,因为我要生成一个报文,报文中对这个数据项的长度规定的,比如说数据项长度是30,但是允许可以有中文字符出现,不足的就用空格补空,就以“你好”两个字为例,那么按照Java语言中的length计算长度为2,那么我就要在“你好”后面补28个空格,这样就有这个字符串就占32列,而不是30列,这个到底是怎么计算的,我有点郁闷了,是不是Java计算中文字符的长度和实际的不等呀,按照常理一个汉字占2个字节呀
请各位老师帮我指点一下呀!
请各位老师帮我指点一下呀!
在JAVA中leng()只是能取得字的个数,并不能计算出字节长度.
记事本是windows的,默认本地编码方式GBK,当然是4个字符
这是2回事
中文一个字符是占两个字节的一个英文字母占一个字节
所以如果 有字符串tmpString = "中国acb"
则tempString.length()的结果是5如果你想要得到一个string的字节长
你可以这样用tempString.getByes().length
这样得到的值就是字节长度7
谢谢你的指点,就是这个问题,我取成字符的长度了,应该用string.getbytes().length取字节的长度,这样才正确,谢谢!