Topic: 为什么JAVA中汉字和字符都算一个字符位?

  Print this page

1.为什么JAVA中汉字和字符都算一个字符位? Copy to clipboard
Posted by: zz
Posted on: 2004-08-28 20:33

为什么JAVA中汉字和字符都算一个字符位?
汉字不是要占两个字符位吗?
还有,有人遇到过在打印时汉字占1.5个字符位吗?
比如:
第一行打两个汉字,第二行打三个字符就能对齐!
有人知道这个怎么解决吗?
忘赐教!

2.Re:为什么JAVA中汉字和字符都算一个字符位? [Re: zz] Copy to clipboard
Posted by: heaven
Posted on: 2004-08-29 20:28

一言难尽,你的问题牵扯到字符串的编码方式和等宽字体两个方面,前者看这里:http://www.chedong.com/tech/unicode_java.html
后者去google

3.Re:为什么JAVA中汉字和字符都算一个字符位? [Re: zz] Copy to clipboard
Posted by: zy_ball
Posted on: 2004-08-29 21:16

赞同heaven
java的String使用Unicode,一个字符是两个字节的
而UTF-8则是采用1-3个字节

4.Re:为什么JAVA中汉字和字符都算一个字符位? [Re: zz] Copy to clipboard
Posted by: yung
Posted on: 2004-08-30 14:47

是很头疼,尤其是出表的时候,对齐很困难!
我是这么解决的,先转成bytes,再计算其长度,遇到半角的话,就辟了它!
String s = "";
int slen = s.getBytes().length;


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923