首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对于ascii表中的128个唯一字符,256意味着什么

对于ascii表中的128个唯一字符,256意味着什么
EN

Stack Overflow用户
提问于 2014-12-29 02:04:45
回答 3查看 74.3K关注 0票数 48

如果我需要检查一个字符串是否有唯一的字符,我知道如果我们考虑的是Ascii表中的字符,那么有128个字符。

但是,为什么我们需要制作一个大小为256的布尔数组来容纳128个字符来检查元素是否在字符串中至少存在一次?长度为128的布尔数组还不够吗?

下面是“破解编码面试”一书中的一段话:

代码语言:javascript
复制
if (str.length() > 128) return false;
boolean[] char_set = new boolean[256]; //which is strange since it clearly says over 128 its false

.

EN

回答 3

Stack Overflow用户

发布于 2016-07-20 22:07:33

基本上,我们只使用128个字符,这是程序中最常用的。但是ASCII表中的字符总数是256 (0到255)。0到31(总共32个字符)被称为ASCII控制字符(字符代码0-31)。32到127个字符被称为ASCII可打印字符(字符码32-127)。128到255被称为扩展ASCII码(字符码128-255)。

检查参考:http://www.ascii-code.com/

大多数扩展ASCII字符在QWERTY (英语)键盘中没有出现,所以这就是原因,作者在“破解编码面试”一书中的例子中总共使用了128个字符。

票数 32
EN

Stack Overflow用户

发布于 2015-02-21 22:46:42

不是,有256个ASCII字符。这包括标准ASCII字符(0-127)和扩展ASCII字符(128-255)。

了解更多信息请访问:http://www.flexcomm.com/library/ASCII256.htm

票数 15
EN

Stack Overflow用户

发布于 2014-12-29 02:12:33

如今,许多人用"ASCII“这个术语来描述ISO-8859-1 (also known as Latin-1),这是一种包含32 ..126旧ASCII字符集的可打印字符值以及128..255范围内的值。拉丁语-1在覆盖西欧语言方面做得相当好,而ASCII仅限于基本英语中使用的非重音字符。

ASCII还包括0-31和127范围内的控制字符。它们不表示可打印的字符(尽管unicode在这些位置提供了字符)。它们是return、linefeed、tab、ctrl-c、formfeed等。其中一些是电传打字机和电传传真机的旧物。

请注意,纸带在每帧中有8个位位置。这些是ASCII /拉丁文-1的比特。"Delete“,又名”Rubout“是127或0111 1111。为什么?因为有可能把磁带上的所有七个孔都打出来,擦掉一个字符。

这可能解释了有人建议使用256位数组来将这种字符集中的文本制表的原因。

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

https://stackoverflow.com/questions/27679137

复制
相关文章

相似问题

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