快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

彻底解决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;



}



}



}在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;



}



}



}
返回类别: 教程
上一教程: JSP由浅入深(3)?? 通过表达式增加动态内容
下一教程: 用JAVABEAN实现文件上载

您可以阅读与"彻底解决J2ME中的中文问题"相关的教程:
· 解决JSP开发WEB程序中的中文问题
· JBOSS中,中文问题的彻底解决
· 漫谈Java中的中文问题
· webwork2在weblogic下的中文问题解决
· 漫谈Java中的中文问题
    微笑服务 优质保证 索取样品