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,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器