什么';s Unicode/ASCII';它与机器代码有什么关系?

什么';s Unicode/ASCII';它与机器代码有什么关系?,unicode,Unicode,尽管机器语言因机器而异,但据我所知,Unicode/ASCII对字符有特定的值(整个概念仍然有点混乱)。那么,基本上,字符的二进制值,比如说,Linux中的“A”与Windows中的“A”不同吗?如果不同的机器理解不同的1和0序列,“A”的1和0不应该根据机器的不同而不同吗(即使Unicode为每个字符都设置了值——我认为)? 另外,我对编程有点陌生,甚至不知道这是否是问这个问题的正确地方。(如果不是,对不起!)机器不“理解”字符。它们处理由0和1组成的字节。Linux和Windows是不同的操

尽管机器语言因机器而异,但据我所知,Unicode/ASCII对字符有特定的值(整个概念仍然有点混乱)。那么,基本上,字符的二进制值,比如说,Linux中的“A”与Windows中的“A”不同吗?如果不同的机器理解不同的1和0序列,“A”的1和0不应该根据机器的不同而不同吗(即使Unicode为每个字符都设置了值——我认为)?
另外,我对编程有点陌生,甚至不知道这是否是问这个问题的正确地方。(如果不是,对不起!)

机器不“理解”字符。它们处理由0和1组成的字节。

Linux和Windows是不同的操作系统,可以很好地在同一台机器(硬件)上运行。ASCII和Unicode(以及UTF-8等Unicode编码)是独立于任何特定操作系统或机器的标准。这些标准定义了数据应该如何表达,这与该标准的任何具体实现无关。Windows中的ASCII与Linux中的ASCII完全相同,因为ASCII的定义方式是一样的,不同的系统必须使其实现符合该标准,才能实现互操作


现在,不同的硬件架构可能会使用不同的架构,在这种情况下,实际字节可能会在内部以不同的顺序进行处理。但这仅仅是一个实施细节;ASCII仍将是ASCII。

请尝试从注释和答案中了解“'A'在Linux中”没有太多意义。底线如果有人给出一个字节序列并说它们代表文本,他们还必须确保您知道创建它们时使用的字符集的编码。这可能来自规范、约定、嵌入式文档(HTML中的字符集、XML中的字符集或HTTP中的标题)。是的,ASCII仍然是ASCII,除非人们使用类似ASCII的格式。当心有人在一般概念中误用这个名字。ASCII本身仅在非常特殊的上下文中使用。感谢您的回复(:那么,编码方案与机器语言无关?ASCII中指定字符的位序列是否在所有机器(使用ASCII)中都相同?例如,由于01000001是“A”,所有使用ASCII的计算机是否都将该序列理解为“A”?我不确定这个问题是否有意义;我想我已经把编码方案和机器语言的概念搞混了。你差不多明白了。字节序列是否被视为文本取决于程序或操作系统m、 不是计算机。像web浏览器这样加载网页的程序使用服务器要求使用的编码。Windows操作系统在其NTFS文件系统中使用UTF-16作为名称。编译器或汇编程序使用您应该知道的默认编码和/或让您告诉它保存源代码文件时使用的编码。console程序(又名shell、终端、命令提示符)具有编码设置。请转到
locale
chcp
查看它。