在JAVA中我用 System.out.format();输出一些东西,比如其中有中文与字母 例:"你好java"String s = "你好java";
我使用的是 System.out.format("%10s",s); 这种语法,但是这种控制的是 汉字与字母都是一个宽度。我想控制输出宽度,汉字占用2个宽度,字母占用1个宽度。请教各位一下问如何控制 ?
我使用的是 System.out.format("%10s",s); 这种语法,但是这种控制的是 汉字与字母都是一个宽度。我想控制输出宽度,汉字占用2个宽度,字母占用1个宽度。请教各位一下问如何控制 ?
如果你非要按照字节个数来加以控制的话,那就通过s.getBytes().length进行判断,到底是需要补齐空格还是截断字符串。
奉劝啊,最好别这么干(根据你自己的需要):
1.汉字在不同的编码下所占的字节个数并不一致,有些是2个字节,有的是3个字节;
2.一个汉字本生就是需要几个字节来存储的,硬要拆开了,那就什么都不是了。
utf-8:汉字三字节
gbk:汉字两字节