String类保存中文问题

eyoexply 2005-01-10 04:00:59
一个例子:
String s = "大家好";
System.out.println(s.length()); // 这时输出的是3
System.out.println(s.substring(0,2)); //这时输出的是 大家

能怎么处理才能使第一个的输出是6,第二个的输出是 大
就是按半角计算,而不是按unicode计算?
...全文
462 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
内存泄漏 2005-01-12
  • 打赏
  • 举报
回复
new String(s.getBytes("8859-1"), "GB2312");
eyoexply 2005-01-12
  • 打赏
  • 举报
回复
不对啊,运行完
new String(s.getBytes(), "ISO-8859-1");
以后,再显示s,其中的中文就变成乱码了,怎么再转回来啊?
samkuang 2005-01-10
  • 打赏
  • 举报
回复
up1up
eyoexply 2005-01-10
  • 打赏
  • 举报
回复
如何判断String里面存的英文还是中文?
vgvg 2005-01-10
  • 打赏
  • 举报
回复
String str="大家好";
byte[] b=str.getBytes();
System.out.println(b.length);
System.out.println(new String(b,0,2));
debug148 2005-01-10
  • 打赏
  • 举报
回复
mark
lxpbuaa 2005-01-10
  • 打赏
  • 举报
回复
String s = "大家好";
try
{
s = new String(s.getBytes(), "ISO-8859-1");
}
catch(Exception e){}
System.out.print(s.length());
javafaq2004 2005-01-10
  • 打赏
  • 举报
回复
自己写个MyString类

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧