面试题,字符串的处理!! 假如有一字符String s="dfsfs大概的dgf",求他的subString ,但是遇到中文时,不是只显示一半啊(因为中文占两个字符) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 substring跟是否中文没关系,另外中文是占两个byte,而不是两个字符 String s="dfsfs大概的dgf"; System.out.println(s.substring(4,6));//显示s大substring(int beginIndex,int endIndex)参数:beginIndex - 开始处的索引(包括)。endIndex - 结束处的索引(不包括)。 求它的ASCII码,80-ff是汉字,遇到汉字就截取2个byte,否则截取一个byte.我初学JAVA,不知道JAVA求ASCII码的方法,呵呵 /** * ÖÐÎÄ×Ö·û´®½ØÈ¡£¬Ó¢ÎÄËã°ë¸ö * @param str Ô´×Ö·û´® * @param len ½ØÈ¡³¤¶È * @return ½á¹û */ public static String substring(String str, int len) { len = len * 2; StringBuffer sb = new StringBuffer(); int counter = 0; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c < 255) { counter++; } else { counter = counter + 2; } if (counter > len) { break; } sb.append(c); } return sb.toString(); } java 中不是规定所有字符包括中文,英文;用unico编码,占用2个 字节吗,你们为什么说英文字符只占一个字节呢? 中文是占两个byte,而不是两个字符;英文字符只占一个字节. 用的是unicode编码...输出很正常 jav a中每个char都占两个字节,一个汉字也可以放得下,所以楼主的担心是多于的。 java解析问题 急! 求一个 Java 并行程序 不是并发程序 java编程 java与数据库连接问题? 对于 instanceof 一些疑问!! 简单极了:DatagramPacket的小问题 JAVA基础知识精华总结 怎么样在JTable中设置各个行的颜色而且这个行的颜色是根据一个变量而变化的。(高分求解!!!) 作为java学习工具eclipse如何?在那里能下载到最新的版本? Mac下JAVA运行报错 如何将运行结果动态显示到我的GUI? SOS!写文件时被截断
另外中文是占两个byte,而不是两个字符
System.out.println(s.substring(4,6));//显示s大substring(int beginIndex,int endIndex)
参数:
beginIndex - 开始处的索引(包括)。
endIndex - 结束处的索引(不包括)。
* ÖÐÎÄ×Ö·û´®½ØÈ¡£¬Ó¢ÎÄËã°ë¸ö
* @param str Ô´×Ö·û´®
* @param len ½ØÈ¡³¤¶È
* @return ½á¹û
*/
public static String substring(String str, int len)
{
len = len * 2;
StringBuffer sb = new StringBuffer();
int counter = 0;
for (int i = 0; i < str.length(); i++)
{
char c = str.charAt(i);
if (c < 255)
{
counter++;
}
else
{
counter = counter + 2;
}
if (counter > len)
{
break;
}
sb.append(c);
}
return sb.toString();
}
英文字符只占一个字节.