首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字母与空格字符进行异或运算

将字母与空格字符进行异或运算
EN

Stack Overflow用户
提问于 2012-03-12 08:39:00
回答 4查看 7.5K关注 0票数 20

为什么对任何带有空格字符的字母进行异或操作会改变字母的大小写,这是有历史原因的吗?(例如,'a‘xor’‘= 'A','F’xor‘’= 'f',等等)

或者这只是一个巧合?

(假设字符是ASCII或unicode编码的。)

EN

回答 4

Stack Overflow用户

发布于 2012-03-12 08:47:36

我确信这是经过深思熟虑的,可以通过改变一个比特来改变情况-这将使早期的软件更有效率。空格字符是#32这一事实无关紧要。

票数 17
EN

Stack Overflow用户

发布于 2012-03-12 08:54:58

优点

ASCII是机电式电传打字机所使用的代码的子码,通常被称为电传打字机。

这些机器没有活动的电子设备..。他们使用鼓、马达和凸轮以及大约无数的金属部件来打印大写字符。他们有一些RLC组件和各种继电器。

只用一位来分隔大小写字符,这是非常刻意的。这样,传输和存储系统可以使用6位而不是7位。

实际上,您不需要XOR,您可以使用OR或ADD来获得小写范围。

通过简单地忽略一位,一个只能打印大写字母的设备就能够处理混合大小写输入。在空格字符中使用这一位是有意义的…这是在类型元素选择方面通常被忽略的一点。

Here is a quite old one restored to working order.

票数 4
EN

Stack Overflow用户

发布于 2012-03-12 13:52:27

这只是ASCII字母和以类似方式分配的其他字母集的一个特征。对于Unicode中的绝大多数字母字符来说,这是不会发生的。例如,U+0101是U+0100,ā是U+0101。通常,小写和大写字母通常被分配给连续的代码位置。而且Unicode中的大多数字母字符都没有小写/大写概念。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9660401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档