什么是多字节字符集?

2024-02-07

术语“多字节”是指其字符可以(但不必)宽于 1 个字节的字符集(例如 UTF-8),还是指在任何情况下都宽于 1 个字节的字符集(例如 UTF -16) ?换句话说:如果有人谈论多字节字符集,这意味着什么?


该术语含糊不清,但在我的国际化工作中,我们通常避免使用术语“多字节字符集”来指代基于 Unicode 的编码。一般来说,我们仅将这一术语用于具有一个或多个字节来定义每个字符的传统编码方案(不包括每个字符仅需要一个字节的编码)。

通常包括 Shift-jis、jis、euc-jp、euc-kr 以及中文编码。

大多数遗留编码(除了一些例外)都需要某种状态机模型(或者更简单地说,页面交换模型)来处理,并且在文本流中向后移动是复杂且容易出错的。 UTF-8 和 UTF-16 不会遇到此问题,因为 UTF-8 可以使用位掩码进行测试,而 UTF-16 可以针对一系列代理项对进行测试,因此在非病态文档中前后移动可以安全地完成,没有太大的复杂性。

对于泰语和越南语等语言,一些遗留编码具有多字节字符集的一些复杂性,但实际上只是建立在组合字符的基础上,并且通常不与广义术语“多字节”混为一谈。

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

什么是多字节字符集? 的相关文章

  • 如何让 Mechanize 自动将正文转换为 UTF8?

    我找到了一些解决方案post connect hook and pre connect hook 但似乎它们不起作用 我正在使用最新的 Mechanize 版本 2 1 没有 response 新版本中的字段 我不知道在新版本中从哪里获取它
  • 当插入触发器处于活动状态时,无法将 4 字节 UTF-8 字符/表情符号插入 MySQL 数据库

    当查询包含 4 字节 UTF 8 字符时 我在使用记录对表执行的所有查询的数据库触发器时遇到问题 My mysql cnf https pastebin com 3cix3GzZ Ubuntu 16 04 上的 mysql 版本为 5 7
  • 将 MySQL 查询的输出转换为 utf8

    我的数据库中有一个表 我想运行如下查询 SELECT column1 column2 FROM my table WHERE my condition 但我希望 mysql 返回column2以utf8编码 mysql中有什么函数可以完成这
  • Python:UnicodeDecodeError:“utf8”编解码器无法解码字节

    我正在将一堆 RTF 文件读入 python 字符串中 在某些文本上 我收到此错误 Traceback most recent call last File 11 08 py line 47 in
  • 类型提示中 _ 的正确术语是什么?

    在 Rust 的类型提示中 可以在注释中使用部分类型 如下所示 let myvec Vec lt gt vec 1 2 3 部分类型注释中下划线的正确术语是什么 我对 Rust 术语以及更多学术类型理论术语感兴趣 我找到了一个一份官方文件
  • CSS 术语:这些叫什么?

    考虑 p foo bar CSS 中这些语句的正确名称是什么 我见过它们被称为选择器 规则或规则集 但哪个是正确的 将考虑一条规则 p 本例中的选择器是 p 规则由选择器和声明组成 声明是property value所以整个规则是 sele
  • 线程/进程/任务之间有什么区别?

    线程 进程 任务之间有什么区别 Process 进程是正在执行的计算机程序的实例 它包含程序代码及其当前活动 根据操作系统 OS 进程可能由同时执行指令的多个执行线程组成 基于进程的多任务处理使您能够在使用文本编辑器的同时运行 Java 编
  • Windows命令行参数编码是什么?

    Windows 使用什么编码来传递给在 cmd exe 窗口中启动的程序的命令行参数 命令行参数的编码似乎不受使用控制台代码页设置的影响chcp 我将其设置为 UTF 8 代码页 65001 并使用 Lucida Console 字体 如果
  • python 解码部分 utf-8 字节数组

    我从不了解 UTF 8 规则的通道获取数据 因此 有时当 UTF 8 使用多个字节来编码一个字符并且我尝试将部分接收到的数据转换为文本时 我在转换过程中遇到错误 根据接口的性质 没有任何结束的流 我无法找出数据何时已满 因此我需要处理部分
  • 在python 2.7中打印阿拉伯/波斯字母[重复]

    这个问题在这里已经有答案了 在下面的代码中 Python 似乎不支持阿拉伯字母 有任何想法吗 usr bin python coding utf 8 import nltk sentence tokens nltk word tokeniz
  • 如何在PHP中设置文本文件编码?

    如何在 PHP 中设置文本文件编码 例如 UTF 8 让我告诉你我的问题 这是我的代码 Output fwrite 具有类似的输出 但是当我创建test txt通过记事本并设置字符集UTF 8输出就是我想要的 我想在 PHP 文件中设置字符
  • 如何编写对 UTF-8 安全的代码?

    我们有一组针对 ASCII 字符集开发的应用程序 现在 我们正尝试在冰岛安装它 但遇到了冰岛字符被搞砸的问题 我们正在解决我们的问题 但我想知道 是否有一个好的 指南 来编写专为 8 位字符设计的 C 代码 并且在提供 UTF 8 数据时可
  • 尽管手册页有免责声明,为什么“strchr”似乎可以使用多字节字符?

    From man strchr char strchr const char s int c strchr 函数返回一个指向字符 c 在字符串 s 中第一次出现的位置的指针 这里 字符 的意思是 字节 这些函数不适用于宽字符或多字节字符 不
  • 免费商店的“堆”一词的由来是什么?

    我试图找到免费存储通常被称为堆的官方 或足够好的 原因 除了它从数据段末尾增长这一事实之外 我实在想不出一个很好的理由 特别是因为它与堆数据结构关系不大 注意 很多人提到这只是一大堆没有组织的东西 但对我来说 堆 一词在物理上意味着一堆物理
  • 在 C# .NET 中对非 ASCII 字符进行编码

    我想向我的应用程序发送的电子邮件添加自定义标头 标头名称只能包含 ASCII 字符 但对于值和用户可能会输入 UTF 8 字符 我必须对它们进行 Base64 编码 此外 我还必须将它们解码回 UTF 8 以便在 UI 中向用户显示它们 最
  • 在python中打开带有重音符号的文本文件

    我尝试使用 Python 2 7 打开法语文本文件 我使用了命令 f open textfr r 但是当我使用 f read 我失去了重音字符 我明白了u J xc3 xa9tais xc3 xa0巴黎而不是J tais 巴黎等 当在lin
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • 经典的asp字符编码

    我在经典 asp 网站中遇到西班牙字符问题 用户可以在 aspx 页面上的表单中提交他们的姓名 地址 然后 aspx 页面将 ajax post 发送到经典的 asp 页面 它所做的所有操作都存储在我们的 Sql 2008 DB 中 我可以
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo

随机推荐

  • std::string size() 是 O(1) 操作吗?

    std string size 是 O 1 操作吗 我使用的STL实现是VC 中内置的 如果您问 MSVC 的 string size 实现是否具有恒定的复杂性 那么答案是肯定的 但唐 韦克菲尔德 https stackoverflow c
  • Java - 父类正在调用子类的方法?

    抱歉 我对编码还很陌生 可能还没有掌握所有术语 希望您仍然能理解我的问题 我想要得到的输出是 Cost for Parent is 77 77 Cost for Child is 33 33 但是 我得到了这个 Cost for Paren
  • Angular - Prod Build 不生成唯一的哈希值

    Angular 生产构建不会在我的项目中生成唯一的哈希值 以下是构建日志截图 无法在新的 Angular cli 项目中重现此问题 似乎我的项目中存在一些问题 我正在使用角度 6 0 3 下面是 angular json schema no
  • Office 365 Rest API 读取“回复”字段

    我正在使用此处记录的其余 APIhttps msdn microsoft com office office365 APi mail rest operations https msdn microsoft com office offic
  • ARM GCC 生成函数序言

    我提到 ARM 工具链可以生成不同的函数序言 实际上 我看到两个 obj 文件 vmlinux 具有完全不同的函数序言 第一种情况如下所示 push some registers maybe fp lr lr ommited in leaf
  • 如何使用 gganimate 获得完整而不是部分的饼图

    我在制作动画饼图时遇到问题gganimate and ggplot 我每年都想吃普通的馅饼 但我的产量完全不同 您可以使用以下代码查看示例mtcars library ggplot2 library gganimate Some Data
  • 从数据框中选择每第 n 行

    我有一个数据表 想要从中提取每第五行以创建一个新表 有一个命令可以实现这个目的吗 这是我的数据示例 count Idf Nr block 1 1233 B12 2 1233 B12 3 1446 B12 4 1446 B12 5 365 B
  • Ansible 复制与同步

    使用 Ansible Synchronize 与 Copy 模块有何优缺点 据我所知 同步具有复制所具有的所有功能 但速度可能要快得多 因此我正在考虑更改所有内容以使用同步 同步的唯一缺点是需要 rsync 这在 Linux 环境中似乎相当
  • jQuery $(document).ready 函数的缩写形式

    我使用了很多 jQuery 所以我必须不断地输入 document ready函数来放置 jQuery 代码 该函数有更短的形式吗 允许使用以下三种语法 Syntax 1 document ready function Syntax 2 r
  • MySQL WHERE 过程中的条件被忽略

    我正在尝试制定一个带有参数的程序 但是当我在一个WHERE情况就好像从未存在过一样 他们只是被忽视了 DELIMITER DROP PROCEDURE IF EXISTS p CREATE PROCEDURE p IN player TEX
  • WPF如何将mousedown(命令/操作)绑定到标签

    我可以找到很多到按钮的命令鼠标绑定 但是如果我想将 mousedown 事件绑定到绑定 MVVM 模式 怎么办 我找不到答案 可能是我看不到的很小的东西 但有人可以帮助我吗 xaml
  • SQL Server 2008 R2 中的高效分页

    我想编写一个执行以下操作的存储过程 返回匹配查询的记录数 以确定向用户显示的页数 返回另一个记录集 其中包含当前页面查询中的某个记录子集 从我在 StackOverflow 上发现的另一个问题 抱歉 我丢失了链接 我发现我们是这样进行分页的
  • 在哪里可以找到有关 SharePoint 的优质编程资源? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直试图找到一本书籍或 Web 参考资料 让我更好地了解如何构建 测试 ASP NET 页面 控件和 Web 部件并将其部署到 Shar
  • 防止移动 unique_ptr C++11

    有什么方法可以阻止用户显式获取唯一指针的所有权 std move Make it const The unique ptr移动构造函数需要一个非常量右值引用 因此不能用 a 调用const object const unique ptr
  • Django ORM 中 select_lated 和 prefetch_lated 有什么区别?

    在 Django 文档中 select related https docs djangoproject com en stable ref models querysets select related 遵循 外键关系 在执行查询时选择其
  • 在 Python 中缩小和合并 PDF

    我正在尝试将两个 A4 PDF 页面缩小并合并为一个 A4 页面 这样如果我有的话 p1 p2 我会得到 p1 p2 作为一个新的 PDF 其中一页有两个 A5 大小的页面 类似于在纸上每页打印两页的方式 我调查过pypdf https p
  • 当文本框中未填充任何内容时,将 mvvm WPF 中的属性设置为 null

    我实现了一个文本框 它绑定到一个视图模型 例如 我在文本框中默认填写 100 但如果我将其更改为 10 则该属性始终设置正确 但是当我删除所有数字时 我希望该属性设置为空 但它只是在没有填写任何内容时不设置该值 他只是保留最后一个值 这是我
  • Django 从数据库自动完成

    我有一个这样的模型 class Baslik models Model user models ForeignKey User null True blank True title models CharField max length 5
  • 为什么 getenv() 返回非常量字符串

    我正在阅读以下文档std getenv 功能于cppreference com http en cppreference com w cpp utility program getenv它说 修改 getenv 返回的字符串会调用未定义的行
  • 什么是多字节字符集?

    术语 多字节 是指其字符可以 但不必 宽于 1 个字节的字符集 例如 UTF 8 还是指在任何情况下都宽于 1 个字节的字符集 例如 UTF 16 换句话说 如果有人谈论多字节字符集 这意味着什么 该术语含糊不清 但在我的国际化工作中 我们