关于字符编码的一些介绍
来源:互联网 发布:osumania 知乎 编辑:程序博客网 时间:2024/05/16 14:07
我们通常使用的一些字符编码格式:
ASCII:美国标准信息交换码
用一个字节的七位可以表示
ISO8859-1:拉丁码表。欧洲码表
用一个字节的八位表示
GBK2312:中国的中文编码表
GBK:中国的中文编码表升级,融合了更多的中文字符
Unicode:国际标准码,融合了多种文字
所有文字都用两个字节来表示,java语言使用的就是Unicode
Utf_8:最多用三个字节来表示一个字符。
对于字符编码涉及到的无非就是编码和解码
编码: String----》string.getBytes();
解码:String.getBytes----->String
对于用GBK编码的文件,不能用utf-8解码,因为GBK编码,每个字符用两个字节表示,而utf-8用三个字节表示
所以,当用utf-8解码时,其解出来的码已经不是原来的码啦。解出来的码必然比原来的码多,当你再用GBK编码
方式对乱码进行解码时,已经解不出最先输入的值啦!因为编码的值以及数目已经改变,GBk编码可以用ISO8859-1
进行解码,就算变成乱码,也可以用gbk再解码。因为iso用的是一个字节表示一个字符
如下例:
public class EncodingType
{
/**
* @param args
* @throws UnsupportedEncodingException
* @throws Exception
*/
public static void main(String[] args) throws UnsupportedEncodingException
{
// TODO Auto-generated method stub
String str="哈哈";
//编码
byte[] by=str.getBytes("GBK");
for(byte b:by)
{
System.out.print(b+" ");
}
System.out.println();
//解码
// String str2=new String(by, "UTF-8");
// byte[] by2=str2.getBytes("UTF-8");
// for(byte b:by2)
// {
// System.out.print(b+" ");
// }
// System.out.println();
// System.out.println(str2);
//解码
String str2=new String(by, "ISO8859-1");
//编码
byte[] by2=str2.getBytes("ISO8859-1");
System.out.println(str2);
for(byte b:by2)
{
System.out.print(b+" ");
}
System.out.println();
// 解码
System.out.println(new String(by2,"GBK"));
}
}
- 关于字符编码的一些介绍
- 关于字符编码的一些介绍
- 关于 python 字符编码的一些认识
- Java中关于字符编码的一些思考
- 字符编码的一些内容
- 字符,字节,编码的介绍
- 收集的字符编码介绍
- 字符的编码方式介绍
- 关于字符编码的整理
- 关于字符编码的问题
- 关于字符编码的问题
- 关于字符编码的问题
- 关于window的字符编码
- 关于编码的一些理解
- 关于编码的一些理解
- 关于编码的一些总结
- 关于编码的一些问题
- 关于编码的一些知识
- 管好你的移动硬盘
- PL/SQL 注意 02
- POS机系统中的输入法支持
- C# Vector定义、operator 使用
- linux 下监控端口脚本
- 关于字符编码的一些介绍
- Flex 日期操作之一(获取当前日期-使用计时器)
- C++ 自平衡二叉搜索树的实现
- 字节对齐
- [MSSQL]多人群组审批
- Target runtime is not defined解决方案
- 用java socket向http服务器发送get命令
- [MSSQL]单级审批
- Linux进程管理之task_struct结构体(下)