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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李海鹏 中级黑马   /  2013-1-20 12:48  /  1164 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2013-1-22 12:40 编辑

谁有办法彻底解决J2ME中的中文问题?

1 个回复

倒序浏览
  彻底解决J2ME中的中文问题

  在J2ME程序设计过程中,在存储记录集、网络传输数据、以及读取资源文件中的数据时,都可能存在中文问题。

  中文问题的本质是保存、传输中文时使用的字符编码和读取、获得中文时的字符编码不同。在J2ME中所有的手机都支持UTF-8格式的字符集。

  在使用数据的时候,一般出现中文问题是在将字符串和字节数组转换的时候产生,下面是编码中文产生乱码的转换方法:

  import java.io.*;

  public class Test{

  /**

  * 将字节数组转换为字符串

  * @param bytes 需要转换的字节数组

  * @return 转换后的字符串

  */

  public static String byte2String(byte[] bytes){

  try{

  ByteArrayInputStream bais = new ByteArrayInputStream(bytes);

  DataInputStream dis = new DataInputStream(bais);

  String s = dis.readUTF();

  //关闭流

  dis.close();

  bais.close();

  return s;

  }catch(Exception e){

  return null;

  }

  }

  /**

  * 将字符串转换为字节数组

  * @param s 需要转换的字符串

  * @return 转换后生成的字节数组

  */

  public static byte[] string2Byte(String s){

  try{

  ByteArrayOutputStream baos = new ByteArrayOutputStream();

  DataOutputStream bos = new DataOutputStream(baos);

  bos.writeUTF(s);

  byte[] bytes = baos.toByteArray();

  //关闭流

  bos.close();

  baos.close();

  return bytes;

  }catch(Exception e){

  return null;

  }

  }

  }

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马