前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >告别乱码,你应该知道的字符集常识

告别乱码,你应该知道的字符集常识

作者头像
帅飞
发布2019-01-22 17:32:49
1K1
发布2019-01-22 17:32:49
举报
文章被收录于专栏:Java知其所以然Java知其所以然

各种字符集之间的关系

  • ISO8859-1

-西欧字符集

  • BIG5 -中国台湾的大五码,表示繁体汉字
  • GB2312 -大陆使用最早,最广的简体中文字符集
  • GBK -GB2312的扩展,可以表示繁体中文
  • GB18030 -最新GBK的扩展,可以表示汉字、维吾汉文、藏文等中华名族字符
  • Unicode -国际通用字符集

Unicode 正确理解

概要

占用 2 个字节

Unicode 给所有的字符指定了一个数字用来表示该字符。

Unicode 仅仅只是一个字符集,规定了符合对应的二进制代码,至于这个二进制代码如何存储则没有任何规定。它的想法很简单,就是为每个字符规定一个用来表示该字符的数字,仅此而已。

在向磁盘和网络上传送的时候以 UTF-8 编码

  • 占1个字节的:一个utf8数字、一个utf8英文字母
  • 占2个字节的:带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要二个字节编码
  • 占3个字节的:基本等同于GBK,含21000多个汉字
  • 占4个字节的:中日韩超大字符集里面的汉字,有5万多个
  • 少数是汉字每个占用3个字节,多数占用4个字节(俩个字符)

兼容性

向下兼容。比如 GBK 会兼容 GB2312 、ISO8859-1。

乱码产生的原因

编码和解码字符集不一样。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java知其所以然 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 各种字符集之间的关系
    • Unicode 正确理解
      • 概要
      • 在向磁盘和网络上传送的时候以 UTF-8 编码
    • 兼容性
      • 乱码产生的原因
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档