【发布时间】:2013-05-27 01:36:24
【问题描述】:
我在做数学运算,如果我以二进制表示形式(二进制模式的二进制文件)中的每一位信息(变量的内容)始终小于或等于 1 个字节,那么无论字节顺序如何,我都是安全的在平台上实现,这意味着 ASCII 字符集根据定义是字节序安全或双字节序的,因为它提供 2^8 排列? 我认为 UTF-8 不是双端的。
【问题讨论】:
-
没有为一个字节定义字节顺序。 UTF-8 既可以是小端也可以是大端(就像任何其他 Unicode 编码一样)。
-
你对 utf-8 是什么感到困惑。一个 utf-8 编码的字符串是一个字节序列,不受字节序的影响。 en.wikipedia.org/wiki/UTF-8
-
@H2CO3 CAN 是,但我的观点是关于安全性,如果我有一个 ASCII 字符,我可以假设 char 总是正确再现,我应该使用 UTF8关心那个 UTF 字符集的实现。
-
@PascalCuoq 任何 UTF8 实现都不仅仅是一个字符集,UTF8 还包含有关文本流的信息,我不确定 UTF8 是否与 UTF8 标准的任何其他实现一样安全,而且 ASCII 只是一个带有字形字符关联的表,没什么特别的,它非常简单。
-
@user2384250 “我不确定 UTF8 是否像 UTF8 标准的任何其他实现一样安全”甚至意味着什么?无论如何,冒着重复自己的风险,一个 utf-8 编码的字符串是一个字节序列。阅读我提供的链接。第一句话是“到 1992 年初,人们开始寻找多字节字符集的良好字节流编码”。猜猜故事会如何结束?
标签: encoding utf-8 character-encoding ascii