转:https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

几种常见的编码格式

为什么要编码

不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言假定为英语,其它语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语。这个翻译的过程就是编码。所以可以想象只要不是说英语的国家要能够使用计算机就必须要经过编码。这看起来有些霸道,但是这就是现状,这也和我们国家现在在大力推广汉语一样,希望其它国家都会说汉语,以后其它的语言都翻译成汉语,我们可以把计算机中存储信息的最小单位改成汉字,这样我们就不存在编码问题了。

所以总的来说,编码的原因可以总结为:

  1. 计算机中存储信息的最小单元是一个字节即 8 个 bit,所以能表示的字符范围是 0~255 个
  2. 人类要表示的符号太多,无法用一个字节来完全表示
  3. 要解决这个矛盾必须需要一个新的数据结构 char,从 char 到 byte 必须编码

最新文章

  1. nandflash的读写(2440)
  2. OracleConnection is obsolete
  3. Mysql数据库设置定时任务
  4. 使用WordPress模板搭建博客系统
  5. Vbox下linux虚拟机根分区扩容
  6. Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例
  7. linux vi编辑常用命令
  8. 基础篇系列,JAVA的并发包 - 锁
  9. 第一个python爬虫程序
  10. python并发编程之多进程二
  11. Qt创建堆叠窗口
  12. Python十讲 - 第二讲:变量和基础数据类型
  13. node.js 初学(二)—— 搭建注册/登录服务器
  14. zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环
  15. VMware虚拟CentOS 6.5在NAT模式下配置静态IP地址及Xshell远程控制配置
  16. Javaweb连接数据库
  17. 深度学习GPU集群管理软件 OpenPAI 简介
  18. PHP获取当前页面的URL地址
  19. redis批量删除key 命令
  20. UIScrollView笔记

热门文章

  1. 第五章 JVM垃圾收集器(1)
  2. s11 day Linux 和nginx 部署
  3. python 十进制 和 IP 地址互转
  4. 廖雪峰Python学习笔记——序列化
  5. XCode - vmware虚拟机安装XCode进行iPhone真机调试
  6. 769. Max Chunks To Make Sorted
  7. Hash Table-720. Longest Word in Dictionary
  8. JS 对象 合并
  9. Python中的运算符与表达式
  10. Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用