String 截取固定字节数的字串

xinyu391
String 截取固定字节数的字串

由于要将字符串数据插入到数据库中,
该列为varchar(32) (数据库采用的是GBK编码,汉字是2个字节,assii字符是1个字节)
而字符串是包含中英文两种字符,并且长度可能大于32
因此要截取前32个字符
由于汉字是2个字节,asii字符是1个字节
直接用String的subString(0,32)是不行的
将String转换为byte[]取前32个也不行,因为最后一个字符可能是一个汉字符的高字节
请问如何截取是截取的字符串时32byte啊?

我的想法是这样的取byte的前32个,然后判断最后一个是不是汉字符高位,如果是的话,就去掉它,只要前31个
[size=6]大家有更好的方法吗?[/size]

5day
直接用String的subString(0,32)是不行的吗?

caojiqun
数据库会自己截断吧