是否在所有文本编码中按顺序表示数字?

Bin*_*ier 1 language-agnostic unicode encoding text ascii

这个问题与语言无关,但受到这些c/c ++问题的启发.

如何将单个char转换为int

C中的char到int转换

假设数字(0123456789)的字符在所有文本编码中都是有争议的,这是否安全?

也就是假设这样做是安全的

'9'-'8' = 1
'9'-'7' = 2
...
'9'-'0' = 9
Run Code Online (Sandbox Code Playgroud)

在所有编码?

我期待着对这个问题的明确回答:)

谢谢,

更新:好的,让我将所有编码限制为与ASCII和/或EBCDIC以及之后的任何旧编码.Sandscrit我并不那么担心...

Chr*_*utz 6

我不知道所有的编码,但至少在ASCII和<shudder> EBCDIC中,数字0-9都是连续出现并且以递增的数字顺序出现.这意味着所有基于ASCII和EBCDIC的编码也应该按顺序排列.因此,对于你将遇到的几乎任何事情,除非莫尔斯代码或更糟,我会说是的.

  • @Stephen P - 摩尔斯电码没有空格来分隔单词,甚至是单独字符的信号.它依赖于点和短划线之间的时间来确定"......"和"......"之间的差异.(EEE).计算机需要表示点(00),短划线(01),字符边界(10)和字边界(11).然后大多数字母都是3个或更多的点或短划线,这意味着它可以通过长镜头比ASCII更节省空间,并且对于任何架构来说都是不太可能的选择. (2认同)