sytn.net
当前位置:首页 >> jAvA字符串字节长度问题 >>

jAvA字符串字节长度问题

由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2.但有时需要以字节单位获得字符串的长度.例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8.为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度.如果是标准的字符,Ascii的范围是0至255,如果是汉字或其他全角字符,Ascii会大于255.

public static void main(String[]args){ String ss="hel无此数lo"; byte[] buff=ss.getBytes(); int f=buff.length; System.out.println(f);}可参阅http://blog.csdn.net/xiaoyu714543065/article/details/7380191

/**/ /* * 题目: * 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”

public String getStr(String strValue, int intKey) { String strResult = ""; char[] charStr = strValue.toCharArray(); for (char charItem : charStr) { if ((charItem + "").getBytes().length > 1) { intKey -= 2; } else { intKey --; } if (intKey < 0) { break; } else {

java中可以直接使用string类型的getBytes()方法来获得一个字节数组,实例如下:public static void main(String[]args){ String ss="hel无此数lo";//字符串 byte[] buff=ss.getBytes();//字符串转换成字节数组 int f=buff.length;//取得字节的个数 System.out.println(f);//打印字节个数}

就跟算数一样 有括号就先算括号里的第一个是先 算出前面的数 最后 ==")" 比较结果是 0第二个是 先比较晚了 然后 和前面的数运算 结果是 11

substring 截取字符串(开始位置,截取到的位置)String data = new String("abcde");System.out.println(data.substring(0,4));输出 abcd

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC

编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.public static String substring(String str, int toCount,String more){int reInt = 0;String reStr = “”;if (str == null)return “”;char[] tempChar = str.

这个需要你创建字符串的时候给对正确的编码String str = new String("abc你的4524523".getBytes(),"GB2312");

网站首页 | 网站地图
All rights reserved Powered by www.sytn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com