字符编码问题

来源:互联网 发布:js姓名的正则表达式 编辑:程序博客网 时间:2024/06/06 02:18
    • 常见的编码ISO8859-1,utf-8,Unicode,GBK,GB2312,GB18030;
    • ISO8859-1又称Latin-1或“西欧语言”,属于单字节编码,最多只能表示0~255,英文系统中使用,不支持中文;
    • gbk/gb2312/gb18030:中国的国际编码,专用来表示汉字,双字节编码,GBK表示中文简体和繁体,
    • gb2312表示简体,GBK兼容gb2312。gb18030是GBK编码的增强版;
    • unicode:java使用的此编码,也是最标准的一种编码,使用十六进制表示编码,但是不兼容ISO8859-1。
    • UTF-8:由于unicode不支持lantin-1,且易占用更多空间,对于英文字母也需要两个字节编码,这样不便于传输和存储,此时UTF码就应运而生,它可表示所有语言文字。不过UTF是不定长编码,每个字符的长度从1-6字节不等,一般网页中使用该编码。
    • 字符串的编码:String --- > byte[]
    • 字符串的解码:byte[] --- > String
    • 乱码的产生:解码和编码不一致
    • 程序中一定要处理好编码,否则会出现乱码。比如本机默认编码是GBK而在程序中使用了ISO8859-1编码,则会出现乱码。
      查看系统默认编码