我的问题具体是这样的,在通信中客户端发来数据包,经解析后把数据内容显示在界面上(界面是用JAVA SWING做的),也就是数据要显示在一个JTABLE里,而用户可以根据编码集来选择以哪种形式来显示,如EBCDIK,KEIS,JIS8,SJIS,请问,我应该如何来处理呢,如何来转换编码集呢?

解决方案 »

  1.   


    //假设原始数据编码为“EBCDIK”
    byte[] rowData;//这是客户端原始数据,假设已经赋好值了
    String str = new String(rowData,"EBCDIK");//转换成字符串
    将str显示到JTable;如果原始数据编码为“KEIS”,那么把new String()中的第二个参数改为"KEIS";
    JIS8、SJIS也一样;
      

  2.   

    for (int i = 0; i < str.length(); i++) {
          int j = str.charAt(i);
          System.out.println("j:"+j);
          if(j<256 && j>-1){         int temp = j + 65248;
             if (temp > 0)
                 ret += (char) temp;
             else
                 ret += (char) j;
          }else
             ret += (char) j;
        }
      

  3.   

    to shengyh(阿辉) :
    你能告诉我你的这段代码是什么作用吗? 谢谢