java字符编码

计算机之间传递,无法传输一个个字符只可以传输二进制数据,为了字节与字符的对应关系,就生成了字符码表。

将字符与相对应的字节对应起来的一个表。

ASCII 不支持汉子  美国标准信息交换码

ISO8859-1  不支持汉子 拉丁码表

GB2312 支持汉字 中文码表

GBK   GB18030 支持汉字  兼容GB2312 支持更多中文

Unicode 支持汉字  国际标准编码

UTF-8  支持汉子  常用编码

编码解码 Encode  Decode  字符串转化为字节  成为编码   将字节转化为字符串为解码

常用api如下:

String str="我是中国人";
byte[] bytes=str.getBytes();
byte[] bytes1=null;
try {
    bytes1=str.getBytes("Unicode");
    Log.d(TAG, "onClick: bytes=="+ Arrays.toString(bytes));
    Log.d(TAG, "onClick: bytes1=="+Arrays.toString(bytes1));
    Log.d(TAG, "onClick: String(bytes=="+new String(bytes));
    Log.d(TAG, "onClick: String(bytesUTF=="+new String(bytes1,"UTF-8"));
    Log.d(TAG, "onClick: String(bytesUnicode=="+new String(bytes1,"Unicode"));
    Log.d(TAG, "onClick: String(bytesISO=="+new String(bytes1,"ISO-8859-1"));
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    Log.d(TAG, "onClick: e=="+e.toString());
}

没有指定编码格式  系统采用默认编码格式  中文会采用GBK

采用Arrays.toString()    将字节数组的转化为对应的字节字符串

注意:不是说只要采用同一种编码格式编码解码就不会出现线乱码

          前提是这种编码格式支持你的这种语音   比如汉语就只能使用上面个别的编码格式。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值