作者XDXQQ (杰洛尼莫)
看板java
标题[问题] String分割问题
时间Mon Apr 24 20:30:21 2017
大家好
请问String要如何以Byte分割?
举例来说
String a="ABC安";
想要将a以2byte来分割
可是当尾巴刚好遇到中文字时
若无法分割,则换下一个字串
结果就会变成a[0]="AB",a[1]="C",a[2]="安" 这样
请问有办法办到吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.28.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1493037024.A.7C7.html
1F:→ steven11329: java预设每个字元不就两个byte了吗? 04/24 20:41
2F:→ ssccg: char是2byte 04/24 20:43
3F:→ ssccg: 不谈byte数,你规则写出来,不就照规则写个回圈做就好? 04/24 20:46
4F:→ XDXQQ: 我的意思是每个字串2byte,可是如果这个字串已经有一个英 04/24 20:53
5F:→ XDXQQ: 文字了,接下来那个字是中文不就塞不进去,需要到下一个字 04/24 20:54
6F:→ XDXQQ: 串,想请问JAVA中有没有什麽涵式可以解决这种问题 04/24 20:54
7F:→ ssccg: 英文就是2 byte 04/24 21:14
8F:→ XDXQQ: 英文字不是1byte吗 04/24 21:33
9F:→ ssccg: 不是 04/24 21:48
10F:→ y3k: String.getBytes()自己实验看看便知 04/24 21:50
11F:→ ssccg: getBytes是编码後的结果,不一定... 04/24 22:00
12F:→ ssccg: 中文系统的话大概会用MS950变成英文1byte 中文2byte 04/24 22:01
13F:→ ssccg: String本身其实本来就没有byte数的概念,就是以char为单位 04/24 22:01
14F:→ ssccg: 只是java char在记忆体中是UTF-16 04/24 22:03
15F:推 popcorny: 用Character.isIdeographic去判断中日韩 04/24 23:51
16F:→ XDXQQ: 因为刚接触java很多不懂,所以才会误以为英文就是1byte 04/25 01:12