首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >明文数据和二进制数据有什么区别?

明文数据和二进制数据有什么区别?
EN

Stack Overflow用户
提问于 2009-09-16 11:03:41
回答 5查看 10.4K关注 0票数 18

许多语言都有只处理“明文”而不是二进制的函数。这是否意味着只允许ASCII范围内的字符?

二进制只是一系列字节,它不是类似于明文,明文只是被解释为字符的一系列字节吗?那么,明文可以存储与二进制相同的数据格式/协议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-16 11:12:59

它通常意味着语言可以自由地将某些控制字符解释为逻辑行终止符,例如值10或13。换句话说,输出操作可能会自动将这些字符附加到末尾,而输入操作可能会将它们从输入中剥离(和/或终止读取)。

相比之下,宣称处理“二进制”数据的语言I/O操作通常会包括一个输入参数,表示要操作的数据长度,因为没有其他方法(除了读取文件末尾之外)知道操作何时完成。

票数 5
EN

Stack Overflow用户

发布于 2009-09-16 11:06:56

纯文本是人类可读的,二进制文件通常是人类不可读的,因为它由可打印和不可打印的字符组成。

试着用文本编辑器(如记事本或vim)打开一个jpeg文件,你就会明白我的意思。

二进制文件通常是以优化速度的方式构造的,因为不需要解析。纯文本文件可以手动编辑,而二进制文件则不能。

票数 12
EN

Stack Overflow用户

发布于 2009-09-16 11:11:13

“明文”可以有多种含义。

在该上下文中最有用的一个是,它仅仅是以字节序列组织的二进制文件,特定的计算机系统可以将其转换成它认为的“文本”字符的有限集合。

在某种程度上相关的第二个含义是所述系统应将这些“文本字符”显示为人类可识别的字母表的成员的符号的限制。通常,不成文的含义是转换机制是ASCII。

第三个更具限制性的含义是,这个系统必须是一个“简单的”文本编辑器/查看器。通常意味着ASCII编码。但是,真的,在你,人类,阅读一些时髦格式的文本并由专有程序显示,与VI文本编辑器阅读ASCII编码的文件之间几乎没有区别。

在programming context中,您的编程环境(由OS +系统API+您的语言功能组成)定义了一组“文本”字符,以及一组它能够读取以转换为这些“文本”字符的编码。请注意,这不一定意味着ASCII、英语或8位-例如,Perl本身就可以读取和使用完整的Unicode“字符”集。

要回答您的特定问题,您绝对可以使用“字符”字符串来传输任意字节序列,但必须遵守字符串终止约定。问题是,已经存在的用于“处理字符数据”的函数可能没有任何有用的功能来处理二进制数据。

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

https://stackoverflow.com/questions/1434885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文