image source *The Tech Train |
A simbolis UTF-8 , koduojamas vienu bitu A:'1000001'
$ echo "A" > failas.txt
$ ll failas.txt
-rw-r--r-- 1 sup sup 2 kov. 15 09:05 failas.tx
Matome, kad failas užima 2 baitus bet kodėl? Įrašėme tik vieną simbolį, 'A' vieną baitą informacijos.
Toliau tikrinant galime pastebėti, kad
$ od -A o -t u1c failas.txt
0000000 65 10
A \n
0000002
Po 'A' simbolio, buvo įterptas naujos eilutės simbolis. Taigi `echo` komandą, automatiškai prideda '\n\' simbolį ir todėl failo dydis 2baitai. Panaudokime specialią `echo` vėlėvėlę
-n do not output the trailing newline
$ echo -n "A" > failas.txt
1 ✗ sup /tmp $ od -A o -t cd failas.txt
0000000 A
65
0000001
$ ls -la failas.txt
-rw-r--r-- 1 sup sup 1 kov. 15 09:10 failas.txt
Pirmieji baitai nurodo kokio ilgio bus bitas.
0xxxxxxx - vienas bitas (maximali reikšmė 127 = 64+32+16+8+4+2+1)
110xxxxx 10xxxxx - du baitai (max reikšmė 16191)
...
Pirmieji baitai nurodo kokio ilgio bus bitas.
0xxxxxxx - vienas bitas (maximali reikšmė 127 = 64+32+16+8+4+2+1)
110xxxxx 10xxxxx - du baitai (max reikšmė 16191)
...
(Source: https://en.wikipedia.org/wiki/UTF-8) |
Tam kad naršyklėse tekstas butų teisingai atvaizduotas, reikia nustatytų žymę:
<meta charset="UTF-8">