A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大夢未觉

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

byte[] arr = {-60,-29,70,-61,-60,-29,-71,-61};
String s = new String(arr,"UTF-8");

6 个回复

倒序浏览
啊哈哈哈哈哈哈哈哈哈哈!!!!!
回复 使用道具 举报
首先需要抛出异常:
public static void main(String[] args)throws Exception 因为在程序运行时,编码转换可能出现不支持编码的异常;
其次:你的字节数组运行后的结果为:??F???? 这是因为你输入的数组中,只用70被UTF-8编码格式认识.也就是 F (UTF-8内部包含了ASCII 码表,ASCII码表里,70就是F)
最后:如果全是负数,byte[] arr = {-60,-29,-70,-61,-60,-29,-71};UTF-8也会去查编码表找字符,不巧的是??????

我给你一个串你试试吧:byte[] arr={-28,-67,-96,-27,-91,-67};
我也只会这么多了...
回复 使用道具 举报
李彦来 发表于 2014-8-1 16:44
首先需要抛出异常:
public static void main(String[] args)throws Exception 因为在程序运行时,编码转换可 ...

谢谢你的回答,还是木有怎么看懂,表示这句是上课时做的笔记,明明老师上课能够正常运行的,我也很确定木有抄错,但。。。:'(
回复 使用道具 举报
你使用Eclipse在错误的地方按F2就知道了,二楼说的对,你使用这个构造函数会抛出异常 UnsupportedEncodingException.所以需要在主函数throws UnsupportedEncodingException
回复 使用道具 举报
把个异常抛一下嘛!
  1. class StringDemo
  2. {
  3.         public static void main(String[] args)throws Exception
  4.         {
  5.                 byte[] arr = {-60,-29,70,-61,-60,-29,-71,-61};
  6.                 String s = new String(arr,"UTF-8");
  7.         }
  8. }
复制代码
{:3_47:}
回复 使用道具 举报
@李彦来回答正确。  
另外,我很好奇lz的年龄~;P
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马