Re: [问题] String分割问题

楼主: pttworld (批踢踢世界)   2017-04-24 22:15:39
※ 引述《XDXQQ (杰洛尼莫)》之铭言:
: 大家好
: 请问String要如何以Byte分割?
: 举例来说
: String a="ABC安";
: 想要将a以2byte来分割
: 可是当尾巴刚好遇到中文字时
: 若无法分割,则换下一个字串
: 结果就会变成a[0]="AB",a[1]="C",a[2]="安" 这样
: 请问有办法办到吗?
# 确定转byte array的编码,以UTF-8为例:
byte[] b = s.getBytes("UTF-8");
# 检查byte0确定为几byte的字:
来源:https://en.wikipedia.org/wiki/UTF-8 1993年版
private int utf8Byte0(byte b) {
if(((b >> 7) & 1) == 0) {
return 1;
} else {
StringBuilder sb = new StringBuilder();
for(int i = 7; i >= 1;
作者: adrianshum (Alien)   2017-04-24 22:30:00
这样转成string检查?做个bitwise and 简单很多吧
作者: ssccg (23)   2017-04-24 23:31:00
感觉原po不是不会自己检查英文还中文,是想问有没有专门切2 bytes的String.split,可是String就不是算byte
作者: XDXQQ (杰洛尼莫)   2017-04-25 01:13:00
我也不知道该如何判断是英文还是中文@@

Links booklink

Contact Us: admin [ a t ] ucptt.com