RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 872902
Accepted
user294535
user294535
Asked:2020-08-24 18:40:44 +0000 UTC2020-08-24 18:40:44 +0000 UTC 2020-08-24 18:40:44 +0000 UTC

什么是 ANSI 和 ASCII

  • 772

我想最终弄清楚如何正确命名 8 位字符的字符串。

什么是UTF-8字符串对我来说很清楚 - 它是一个字符串,其中的每个字符由可变数量的 8 位块(字节)表示。

什么是UTF-16 / UTF-32字符串我也很清楚。

但我不知道如何正确命名 8 位编码,其中前 128 个字符是严格定义的,后续字符会根据使用的代码页而变化。

有些人称它们为ascii,其他人称它们为ansi,或者如果是指特定的编码,则只是CP1251 。

帮助我理解。谷歌只是感到困惑。

c
  • 3 3 个回答
  • 10 Views

3 个回答

  • Voted
  1. Barmaley
    2020-08-24T19:11:25Z2020-08-24T19:11:25Z

    ASCII(读aski)是在 99% 的 SO 用户还没有出生的时候(1963 年)使用的第一个编码。编码为7位,即定义了128个字符,全字节的第8位用于奇偶校验,因为当时通道不可靠,假设每个接收到的字节都会被检查。

    此外,随着时间的推移,很明显,对于其他语言,您可以使用第 8 位来显示国家字符 - 即使用 256 个字符。这种扩展的 8 位编码以美国标准协会的名义有条件地称为ANSI(读取ansi),其中提出了 8 位编码。据此,针对每种国家语言,提出了自己的表后半部分(128到255个字符)的布局,表的前半部分从0到127是原始的ASCII字符。KOI-8、CP-1251、1252 等 是 ANSI 的各种化身

    此外,当涉及到象形文字时,很明显 256 个字符无法容纳并出现UNICODE (读取unicode) - 其中 2 个字节分配给 1 个字符,即 65536 个字符,表格在国家字符之间严格划分,例如,ASCII 表仍然在区间 中U+0000 до U+007F,而我们的西里尔字母在区间U+A640 до U+A69F中,以此类推。

    随着狂热的增长,很明显65536个字符也不够用,因为emoji出现了,其他民族字符开始抬头,正直指UNICODE表空间不足,于是提出了UTF-8(读yutief 8 ),其中字符中的字节数有不同的长度,可以是 1 到 4 个字节,即 1,112,064 个字符。

    类似的东西。

    • 8
  2. Best Answer
    Suvitruf - Andrei Apanasik
    2020-08-24T18:46:05Z2020-08-24T18:46:05Z

    ASCII(美国信息交换标准代码)——第一个编码选项。

    然后是CP866,KOI8-R,Windows 1251,仅此而已。

    所以CP1251是ASCII的扩展版本。

    ANSI是ASCII的扩展,删除了伪图形并添加了印刷字符。

    CP1251是ANSI编码的一个例子。

    如果欧拉图显示:

    在此处输入图像描述

    • 4
  3. user_587
    2020-08-24T18:56:37Z2020-08-24T18:56:37Z

    我认为名称“八位”或“单字节编码”是此类事物的完全正确的通用名称。

    当然,如果指的是任何特定的代码页/编码,则表示:“KOI8-R”、“CP1251”、“CP1250”、“ISO8859-5”。

    如果我没记错的话,ASCII 作为一个标准(它确实是一个标准——美国信息交换标准代码)只定义了前 127 个字符代码。因此,形式上,“i”、“č”、“њ”、“Ḱ”等字符不属于 ASCII。

    “ANSI”通常是 CP1251 的专用俄语(原文如此!)术语,因为 事实上,这个缩写代表美国国家标准协会(“OEM”代表原始设备制造商)。

    • 4

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5