使用奇数和偶数的US-ASCII编码?

时间:2009-11-22 18:51:30

标签: encoding ascii byte

我将数字列表1-100分成2个字节的文件。然后,我注意到每个奇数btw 11-99需要2个文件,即4个字节,而每个偶数btw 11-99需要1个文件,2个字节。一个文件足够数字btw 1-10。您可以在下面确认这一发现。

你怎么解释这个发现?

我做了什么?

  1. 将数字保存到文件中,例如在VIM中:

    :%!python -c“for i in range(1,100):print i”

    :瓦特! list_0_100

  2. 使用Coreutils中的GNU Split-command将文件拆分为2个字节的文件:

    $ split -b2 -d list_0_100

  3. 发现:每个奇数btw 11-99只需要两个文件,即4字节。相反,每个偶数btw 11-99需要一个文件,即2bytes:

    $ head x*    
    
    ==> x07 <==
    8
    
    ==> x08 <==
    9
    
    ==> x09 <==
    10
    
    ==> x10 <==
    
    1
    ==> x11 <==
    
    1
    
    ==> x12 <==
    12
    
    ==> x13 <==
    
    1
    ==> x14 <==
    3
    
    ==> x15 <==
    14
    ==> x16 <==
    
    1
    ==> x17 <==
    5
    

1 个答案:

答案 0 :(得分:3)

每个大于9的数字需要三个字节(每个数字一个字节,新行一个字节)。编写_代替新行字符(用于可见性),你有这个:

10_11_12_13_14

分手后:

10 _1 1_ 12 _1 3_ 14

偶数恰好位于一个文件中,但奇数被分成两个文件。