この分野の専門家ではありませんが、それでも、私はこの主題に精通するために多くの専門文献を読み、とげを星に突き破り、初期段階で多くの円錐を埋めました。豊富な情報があるので、特別な文献の範囲外で、コーディング自体に関する簡単な記事を見つけることができませんでした(いわば、公式や写真なしで)。
この記事は、最初の部分では、ビットコードを使用した操作の例を使用したコーディング自体に関する教育プログラムであり、2番目の部分では、画像をエンコードする最も簡単な方法に触れたいと思います。
0.始まり
私はこの問題で初心者に話しかけているので、ウィキペディアを参照することは恥ずべきことではないと思います。そして、情報のコーディングを示すために、そのような定義があります。つまり、情報を直接使用するのに便利な形式から、送信、保存、または自動処理に便利な形式に信号を変換するプロセスです。
私が70年代と80年代に欠けていたのは、コンピューターサイエンスではなく、たとえば数学のレッスンであるコーディングの基本情報ではありますが、学校でした。事実、私たち一人一人は、コーディング自体に集中することなく、常に、そして一般的に、毎秒情報のコーディングに取り組んでいます。つまり、日常生活では常にそれを行っています。では、これはどのように起こりますか?
模倣、ジェスチャー、スピーチ、さまざまなレベルの信号-碑文のある看板、道路上の看板、街灯、そして現代の世界では-バーとバーのコード、URL、ハッシュタグ。
いくつかをもっと詳しく見てみましょう。
1.1スピーチ、顔の表情、ジェスチャー
, - . , , . , . , , - , , , .
, ? - , , - . , , , , , , , - , , .
, - , .
1.2
. . , , "/". , .
, . ( ), , , - . "-", "A" - "--" "ET".
1.3
, , - , , . ? , , , , , , , . - , - , - . , , , , , , 1 , - .
2.
. , , - . , , - 8 .
256 , 0 255. , ( ) 00000000, 255 11111111. , 00000001.
, 26 26 , 10 . , ( ) .
" ".
2.1
8 , , , . , , :
|
|
|
|---|---|
|
|
18 |
|
|
12 |
|
|
11 |
|
|
11 |
|
|
9 |
|
|
8 |
|
|
4 |
|
|
3 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
19 ( ). 18+12+11+11+9+8+4+3+2+2+2+2+1+1+1+1+1+1+1=91 (91*8=728 ).
. , 256 19. - 19 LOG2(19)=4.25, , 5, 32 ( 4 , 16 ).
, 91*5=455 , 37.5%.
, . .
, 19 32 , .
2.2
. - , . :
|
|
|
, |
|---|---|---|
|
|
18 |
0 |
|
|
12 |
1 |
|
|
11 |
00 |
|
|
11 |
01 |
|
|
9 |
10 |
|
|
8 |
11 |
|
|
4 |
000 |
|
|
3 |
001 |
|
|
2 |
010 |
|
|
2 |
011 |
|
|
2 |
100 |
|
|
2 |
101 |
|
|
1 |
110 |
|
|
1 |
111 |
|
|
1 |
0000 |
|
|
1 |
0001 |
|
|
1 |
0010 |
|
|
1 |
0011 |
|
|
1 |
0100 |
179 .
, , , . , "111", "", "", "" "".
2.3
- , , . . - , / .
:
|
|
|
, |
|---|---|---|
|
|
18 |
0000 |
|
|
12 |
0001 |
|
|
11 |
0010 |
|
|
11 |
0011 |
|
|
9 |
0100 |
|
|
8 |
0101 |
|
|
4 |
0110 |
|
|
3 |
0111 |
|
|
2 |
10001 |
|
|
2 |
10010 |
|
|
2 |
10011 |
|
|
2 |
10100 |
|
|
1 |
10101 |
|
|
1 |
10110 |
|
|
1 |
10111 |
|
|
1 |
11000 |
|
|
1 |
11001 |
|
|
1 |
11010 |
|
|
1 |
11011 |
, , 0 - , 1 - . , 379 . 455 .
2 , 4 :
|
|
|
, |
|---|---|---|
|
|
18 |
000 |
|
|
12 |
001 |
|
|
11 |
0100 |
|
|
11 |
0101 |
|
|
9 |
0110 |
|
|
8 |
0111 |
|
|
4 |
10000 |
|
|
3 |
10001 |
|
|
2 |
10010 |
|
|
2 |
10011 |
|
|
2 |
10100 |
|
|
2 |
10101 |
|
|
1 |
10110 |
|
|
1 |
10111 |
|
|
1 |
11000 |
|
|
1 |
11001 |
|
|
1 |
11010 |
|
|
1 |
11011 |
|
|
1 |
11100 |
00 - 1 , 01 - 2 , 10 11 - 3 . - 356 .
, , , 455 379, 356 .
2.4
. , .
, . .
|
|
|
|
|---|---|---|
|
|
18 |
00 |
|
|
12 |
101 |
|
|
11 |
100 |
|
|
11 |
011 |
|
|
9 |
010 |
|
|
8 |
1111 |
|
|
4 |
11011 |
|
|
3 |
11001 |
|
|
2 |
111011 |
|
|
2 |
111010 |
|
|
2 |
111001 |
|
|
2 |
111000 |
|
|
1 |
1101011 |
|
|
1 |
1101010 |
|
|
1 |
1101001 |
|
|
1 |
1101000 |
|
|
1 |
1100011 |
|
|
1 |
1100010 |
|
|
1 |
110000 |
- 328 .
, 6 7 , , .
2.5.1
, . .
: " ".
:
|
|
|
|---|---|
|
|
18 |
|
|
3 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
1 |
, - , , , .
:
|
|
|
|
|---|---|---|
|
|
3 |
0 |
|
|
2 |
1 |
|
|
2 |
2 |
|
|
2 |
3 |
|
|
2 |
4 |
|
|
1 |
5 |
|
|
1 |
6 |
|
|
1 |
7 |
|
|
1 |
8 |
|
|
1 |
9 |
|
|
1 |
10 |
|
|
1 |
11 |
|
|
1 |
12 |
:
7, 0, 12, 3, 5, 0, 1, 9, 2, 10, 0, 4, 1, 3, 2, 8, 4, 6, 11
, , - . .
4 ( 0 15), , , . , , , , , 5 , 3 , , - . :
/ |
/ |
/ |
|---|---|---|
0 / 4 |
/ 18 |
/ 2 |
1 / 4 |
/ 5 |
/ 2 |
2 / 4 |
/ 10 |
/ 2 |
3 / 4 |
/ 12 |
/ 2 |
4 / 4 |
/ 12 |
/ 2 |
5 / 4 |
/ 31 |
/ 2 |
6 / 4 |
/ 17 |
/ 2 |
7 / 4 |
/ 20 |
/ 2 |
8 / 4 |
/ 10 |
/ 2 |
9 / 4 |
/ 18 |
/ 2 |
10 / 4 |
/ 26 |
/ 2 |
11 / 4 |
/ 17 |
/ 2 |
12 / 4 |
/ 21 |
/ 2 |
7 |
0 |
12 |
3 |
5 |
0 |
1 |
9 |
2 |
10 |
0 |
4 |
1 |
3 |
2 |
8 |
4 |
6 |
11 |
4 .
すべてを一緒に数えて、371ビットを取得します。この場合、メッセージ自体は19 * 4 = 76ビットでエンコードされています。ただし、これまでのすべての場合と同様に、ハフマンのコードとシンボルの一貫性を保つ必要があります。
あとがき
この記事がコーディングの一般的な印象を与え、それが軍事暗号や数学の天才のための複雑なアルゴリズムだけではないことを示すことを願っています。
時々、学生がコーディングの問題を解決しようとしていて、単に自分自身を抽象化できない方法に出くわし、このプロセスで創造的になります。しかし、コーディングはヘアスタイルや派手なパンツのようなもので、このように私たちのソーシャルコードを示しています。