Unicode 中为什么会有重复的字符?

2023-12-26

我可以看到一些重复的字符Unicode http://en.wikipedia.org/wiki/Unicode。例如,字符“C”可以由代码点 U+0043 和 U+0421 表示。为什么会这样呢?


正如其他人所指出的,您在这里的主要谬误是混淆了拉丁文和西里尔文脚本以及其中的一些字形(即 C (U+0043 拉丁文大写字母 C http://www.fileformat.info/info/unicode/char/0043/index.htm) 和 C (U+0421 西里尔大写字母 ES http://www.fileformat.info/info/unicode/char/0421/index.htm))。有很多这样的字符对,看起来很相似,但实际上是不同的字符。例如,您会发现很多拉丁文、希腊文和西里尔文。但大多数时候它们只能以大写或小写形式工作。

然而,有are事实上是重复的,有时是故意的。例如,整个 (ASCII) 拉丁字母在 U+FF00 和 U+FFEF 之间的“半角和全角形式”Unicode 块中再次表示两次。不过,还有其他这样的例子,最引人注目的是在平面 1 上的数学字母部分,其中还存在三到四个拉丁字母。

还有其他一些东西实际上是相同的字符,但代码点不同。例如,有 µ (U+00B5 微信号 http://www.fileformat.info/info/unicode/char/00b5/index.htm) 和 μ (U+03BC 希腊小写字母 MU http://www.fileformat.info/info/unicode/char/03bc/index.htm)。这些通常通过以下方式链接分解 http://en.wikipedia.org/wiki/Canonical_decomposition.

Unicode 涉及一个抽象概念,称为代码点 http://en.wikipedia.org/wiki/Code_point。代码点明确定义了字符及其脚本或组。它说nothing关于如何对应glyph将呈现某种字体(对于拉丁语来说可能已经有很大不同)。它还没有定义如何在文件或内存中表示该代码点(即作为字节序列)。这是其中一个人的工作Unicode 转换格式 http://en.wikipedia.org/wiki/Unicode_transformation_format#Unicode_Transformation_Format_and_Universal_Character_Set.

在具有不同代码点的两种语言中具有相似外观的字符的原因是什么?

这里Unicode的要点是:

  • 与以前存在的所有字符编码兼容。这必须确保编码中使用的每个字符与 Unicode 代码点的直接等效项存在一对一的映射。
  • 忠实准确地代表当今使用的每个脚本,后来扩展到其他脚本were使用中并需要存储在计算机系统中。

因此,有非常强烈的动机将脚本分开并not尝试根据角色的外观来映射角色。无论如何,外观可能很棘手。以西里尔字母“т”为例,它在这里看起来像一个较小的大写拉丁语“T”。然而,斜体的通常呈现方式是:'т'看起来像小写的拉丁文“m”。你真的不想通过外表来映射这些角色。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unicode 中为什么会有重复的字符? 的相关文章

  • 匹配所有 utf-8/unicode 小写字母形式的正确正则表达式是什么

    我想匹配all拉丁语块中的小写字母形式 简单的 a z 仅匹配 U 0061 和 U 007A 之间的字符 而不匹配所有其他小写形式 我想匹配所有小写字母 最重要的是 EFIGS 语言中使用的拉丁语块中的所有带重音的小写字母 a z 是一个
  • 带有 unicode 键的字典

    Python 中是否可以使用 Unicode 字符作为字典的键 我使用 Unicode 中的西里尔字母作为键 当尝试通过键获取值时 我得到以下回溯 Traceback most recent call last File baseCreat
  • Windows Unicode C++ 流输出失败

    我目前正在编写一个应用程序 它要求我在任意窗口上调用 GetWindowText 并将该数据存储到文件中以供以后处理 长话短说 我注意到我的工具在 战地 3 上失败了 我将问题范围缩小到窗口标题中的以下字符 http www filefor
  • python中unicode字符串到ascii字符串的近似转换

    不知道这是否微不足道 但我需要将 unicode 字符串转换为 ascii 字符串 并且我不希望周围有所有这些转义字符 我的意思是 是否有可能 近似 转换为一些非常相似的 ascii 字符 例如 Gavin O Connor 转换为 Gav
  • Android 中的 Sqlite 全文搜索对非英语字符的 Unicode 支持

    滚动到末尾以跳过说明 背景 在我的 Android 应用程序中 我想使用非英语 Unicode 文本字符串来搜索存储在 SQLite 数据库中的文本文档 字段中的匹配项 我了解到 所以我认为 我需要做的是实施一个使用 fts3 fts4 进
  • 在 ggplot2 facet_wrap 标签上使用半填充的正方形

    我正在尝试使用标签上的一半 以及四分之一填充 方块来生成 ggplot2 图表 但 Mac 上的 ggplot2 似乎不支持某些符号 例如 当我输入 print u25E9 它显示一个半黑的正方形 但是当我尝试在 ggplot 中使用它时
  • 通过 Python 在 PostgreSQL 中的 unicode 字符串中是否允许空字节?

    unicode 字符串中是否允许空字节 我不问 utf8 我的意思是 unicode 字符串的高级对象表示 背景 我们通过 Python 在 PostgreSQL 中存储包含空字节的 unicode 字符串 如果我们再次读取字符串 字符串会
  • s60 的 python 希伯来语字符串

    我在 S60 上使用 python 我想使用希伯来语字符串 在 GUI 上表示它们并以短信形式发送它们 看来 PythonScriptShell 不接受这样的表达式 例如 u 我能做些什么 谢谢 事态发展 我添加了这一行 coding ut
  • 是否可以让 SQL Server 将排序规则转换为 UTF-8 / UTF-16

    在我正在处理的一个项目中 我的数据存储在 SQL Server 中 并具有排序规则Danish Norwegian CI AS 数据通过 FreeTDS 和 ODBC 输出到将数据作为 UTF 8 处理的 python 一些字符 如 和 编
  • 是否存在 UTF-8 编码中未使用的字节?

    据我了解 UTF 8 是 ASCII 的超集 因此包括不用于表示可打印字符的控制字符 我的问题是 是否有任何字节 256 个不同的字节 未被 UTF 8 编码使用 我想知道你是否可以转换 编码UTF 8 文本转二进制 这是我的思考过程 我不
  • MySQL 不将 ı 视为 i?

    我在 MySQL 5 7 27 中有一个用户表utf8mb4 unicode ci整理 不幸的是 没有像 i 那样进行线程化 以下查询将找不到Y lmaz select id from users where name Yilmaz 我对其
  • Java 统一编码

    A Java char is 2 bytes http java sun com docs books tutorial java nutsandbolts datatypes html 最大大小为 65 536 但有95 221 http
  • 解析 HTTP 标头值:引用、RFC 5987、MIME 等

    让我困惑的是 HTTP 标头的解码values 示例标头 Some Header quoted string utf 8 en Weirdness 罐头value s被引用 a 的编码怎么样 本身 是 有效的引号字符 分号有什么意义 HTT
  • 如何使用 Unicode 十六进制值 (UTF-16) 在 Swift 中表达字符串

    我想在 Swift 中使用十六进制值编写 Unicode 字符串 我已阅读文档 https developer apple com library prerelease ios documentation Swift Conceptual
  • ASCIIEncoding.ASCII.GetBytes() 返回意外值

    这段 C 代码 string s u00C0 byte bytes ASCIIEncoding ASCII GetBytes s Trace WriteLine BitConverter ToString bytes 产生以下输出 3F 为
  • Unicode NFC 规范化可以增加字符串的长度吗?

    如果我将 Unicode 规范化形式 C 应用于字符串 字符串中的代码点数量是否会增加 是的 应用 NFC 标准化后 有些代码点会扩展为多个代码点 内基础多语种飞机 http en wikipedia org wiki Basic Mult
  • Python“非规范化”unicode 组合字符

    我正在寻找标准化 python 中的一些 unicode 文本 我想知道是否有一种简单的方法可以在 python 中获得组合 unicode 字符的 非规范化 形式 例如如果我有序列u o xaf i e latin small lette
  • 有没有办法匹配任意 Unicode 字母字符?

    我有一些文档经过 OCR 从 PDF 转换为 HTML 因此 他们最终会出现很多随机的 unicode 标点符号 而转换器会搞砸 即省略号等 他们还正确地有一堆非英语但仍然是字母字符 如 和俄语字符等 有没有办法制作一个匹配任何 unico
  • 如何在按键时识别 unicode 键?

    我的应用程序使用 unicode 字符 并且我有几个文本字段 我想限制用户输入特殊字符 例如 begin if not Key in a z A Z 0 9 13 8 then Key 0 if Key 13 then bOk Click
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy

随机推荐

  • 如何将 google-chrome 设置为 git 默认浏览器

    I want GIT默认情况下在 Chrome 浏览器中打开帮助页面 尽管 Windows 7 默认浏览器是 IE 但由于其他原因我无法更改 我已将以下内容添加到 git 配置文件中 web browser chrome browser c
  • 如何在Java中使用图形输入板? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 几周前 我购买了 Wacom Bamboo 绘图板 我想开发一个小型的java应用程序 它可以捕获用户
  • Titanium 安装后 NPM install -g 不起作用

    我已经在我的 mac 上安装了 Titanium 现在每当我尝试全局安装任何 npm 软件包时都会失败 我的安装的输出是 npm http 304 https registry npmjs org loggly npm http GET h
  • 如何创建一个开关案例,案例是间隔?

    我想创建一个开关 案例 其中案例可以有间隔作为条件 例如 switch 1 lt 21 do one stuff 21 31 do another 我怎样才能达到这个结果 在Python 3 10中 https docs python or
  • Azure 上的 Asp.net MVC 5.2.2

    将 mvc nuget 包从版本 5 1 0 升级到 5 2 2 后 我们在 Azure 上的计算机 webrole 拒绝启动 Web 角色 它处于回收状态 我在事件日志中发现了一个错误 The description for Event
  • 如何将字符串截断为最多 N 个字符?

    预期的方法String truncate usize https doc rust lang org std string struct String html method truncate失败是因为它不考虑 Unicode 字符 考虑到
  • 如何处理 cv::VideoCapture 解码错误?

    我使用 OpenCV 的 VideoCapture 使用 ffmpeg 支持编译 从 IP 摄像机流式传输 H264 内容 到目前为止 一切正常 但每隔一段时间我就会遇到解码错误 我猜是来自 ffmpeg h264 0x103006400
  • 查找单个元素上的所有数据属性

    有人知道一种快速有效的方法来从单个元素中获取所有数据属性吗 我意识到 jQuerys data 会这样做 但是它不会给我使用 attr 设置的数据属性 除非我首先使用 data 选择数据属性 此外 您无法通过使用 data 添加的数据属性来
  • 如何在 Swift 中将 [Int8] 转换为 [UInt8]

    我有一个仅包含字符的缓冲区 let buffer Int8 然后我需要将其传递给一个函数process以 UInt8 作为参数 func process buffer UInt8 some code 传递 Int8 缓冲区以转换为 Int8
  • 按年龄对某个范围内的用户进行分组

    我有一些数据需要进行一些统计 我需要按年龄对用户进行分组 var byAge displayResult GroupBy x gt x Age 我可以按照上面的方法做 然而 这给了我 19 20 21 等年龄 我想要的是按 10 岁对年龄进
  • 使用 REST API 创建项目后,将用户作为管理员分配给项目 - Azure DevOps

    我正在尝试将用户分配为项目的管理员 并通过 Azure DevOps 中的 REST API 更改所有者 你们中的任何人都可以向我指出一些如何完成此操作的文档吗 我已经查看了 UserEntitlements API 和 Project A
  • 重试 HTTP(S) POST,直到在 Android 上成功

    我有一些数据将通过 http s 从 Android 应用程序发送到服务器 需要按顺序发送 是否已经存在一种对 http 请求进行排队 针对同一服务器 并重试它们直到完成 不一定成功 的方法 我的问题是如果没有网络覆盖 http请求可能会失
  • 如何更改C# Winform中文本框中某些子字符串的字体颜色?

    如果我想将文本文件上传到文本框中并希望通过字体颜色更改突出显示某些单词 我知道我需要编写TextBox ForeColor Color SomeColor 但如果我想要那个并非所有文本都会出现在same color 只有一些子串 我怎样才能
  • 在 ASP.NET 中拉取多个记录集时的 DataReader 或 DataSet

    我有一个 ASP NET 页面 其中有一堆需要填充的控件 例如下拉列表 我想单次访问数据库并带回多个记录集 而不是为每个控件进行往返 我可以带回 DataSet 中的多个表 或者可以带回 DataReader 并使用 NextResult
  • 为什么SIGPIPE存在?

    据我了解 SIGPIPE只能作为以下结果发生write 它可以 并且确实 返回 1 并设置errno to EPIPE 那么为什么我们会有额外的信号开销呢 每次我使用管道时我都会忽略SIGPIPE并且从未因此感到任何疼痛 我是否错过了什么
  • onDraw() 没有被调用

    我正在修复某人的 Android 应用程序 它最初是为 2 1 制作的 我正在努力让它工作到 4 0 不幸的是 制作该应用程序的人不在身边 所以我只能使用他的代码 该应用程序实现了自定义滑块 水平和垂直 我固定了垂直滑块 但无法使水平滑块工
  • 如何在非主线程中获取剪贴板数据?

    我正在尝试使用以下代码从剪贴板获取数据 private void TestBtn Click object sender EventArgs e Thread sampleThread new Thread SampleMethod sam
  • 如何通过 Google Sheets API 更新多个单元格?

    我正在尝试更新并从谷歌表格中获取一些结果 它正在工作但速度很慢 我需要batchUpdate并获取数据 这是我的脚本 foreach import cels as celu gt valoare range ins celu valueRa
  • 使用渐变但不混合颜色

    我不知道这是一个愚蠢的问题还是类似的问题 但我想要一个div用一种颜色填充一定比例 其余部分用另一种颜色填充 以及梯度属性 div background linear gradient to right 000 50 fff 50 Resu
  • Unicode 中为什么会有重复的字符?

    我可以看到一些重复的字符Unicode http en wikipedia org wiki Unicode 例如 字符 C 可以由代码点 U 0043 和 U 0421 表示 为什么会这样呢 正如其他人所指出的 您在这里的主要谬误是混淆了