Mr_QQQ 2015-07-25 02:09 采纳率: 0%
浏览 2300

关于计算机字符编码的问题!

计算机字符编码一直困扰我,真希望有大牛帮我解惑:
1. 输入法在输入文本的时候其实是输入对应字符编码集的对应字符的二进制编码,那么这时如果要保存,只需要保存这些二进制字节就可以了,读的时候用输入时使用的编码集解码即可,为什么还有选择保存字符编码这一项,以上只是我的理解。比如:
在windows中使用记事本时,我们输入:
你好,世界!
这时我们使用的是输入法在当前环境中默认的字符编码方式进行输入的,那么我们 需要直接保存即可,但保存时有额外选项,即选择编码方式的选项:
图片说明
假如我们选择不与当前默认编码方式一样的编码方式保存,为什么重新读取时还是一 样的字符,即还是:
你好,世界!
我是这样理解的,假如我们默认编码为a , 保存时用的编码是b , a和b使用的字符集不 一样我们输入法输入汉字时,用的是编码a , 保存时用的是编码b , 那么我们读取时计 算机会判断其保存时的字符编码是b , 就先以b解码,解码后的字节以系统默认编码 方式编码。
问题来了,以上理解对吗?不管怎么选择保存时的编码,最终的显示汉字还是以输入 法输入时的编码方式解码的,那么保存时选择保存编码方式这一项有必要吗。
2 , Unicode和GB的一些字符编码集的汉字编码对应的字节不是一样的,对吗?
3 , 现在我们做项目总喜欢用UTF-8来传输数据,UTF - 8对应的字符编码集就是Unic ode,但其汉字用3个字符,其实在中国是很浪费的,是吗?

  • 写回答

6条回答

  • Robot-C 2015-07-25 02:20
    关注

    UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所以可以看出unicode是给出一个字符的范围,定义了这个字是码值是多少,至于具体的实现方式可以有多种多样来实现。

    UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如......
    答案就在这里:计算机字符编码
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗