Nowe posty

Autor Wątek: RANKING charachter sets!!! Wyniki.  (Przeczytany 1086 razy)

Filystyn

  • Gość
RANKING charachter sets!!! Wyniki.
« dnia: 2015-04-29, 21:46:10 »
Wszyscy na pewno wiemy, że poza UTF8 istnieje bogaty świat innych char setów. Niekoniecznie słusznie zapomnianych.

poznajmy FAJNĄ komendę:
iconv -l

Ojej co się stało??? Wyrzuciła mi bujną ilość char setów w sumie 1168. Dużo napracowania. Czemu do tej pory o tym nie wiedziałem mimo sugestii zawartej na początku wątku?
Oto lista naszych twardzieli:
http://paste.ubuntu.com/10943982/

Postanowiłem, że napisze krótki kodzik który pozamienia mi utf8 na te char sety i zrobi się porównanie. Oto kod programu:

http://paste.ubuntu.com/10943962/

Hurra, działa!!!!

a tu wyniki:
http://paste.ubuntu.com/10943965/

Zauważyłem pewną zależność. Że istnieje całkiem spora grupa odstępców których literki nie przebiegają standardowo. Najwyraźniej miała w przeszłości miejsce jakaś zażarta batalia.
Standardowo: a = 97 A = 65 b = 98 B = 66
typowy odstępca: a = -127 A = -63 b = -126 B = -62

Odstępców jest 334 czyli prawie 1/3. Ich lista:
http://paste.ubuntu.com/10943876/

Mamy zarys wielkiej wojny  EBCDIC kontra  ASCII.

Wygrało lepiej przemyślane ASCII gdzie małe i duże litery możemy zmieniać stosując bit maskę!
Sponiewierane EBCDIC odeszło w niebyt.
IBM na kolanach uciekło z podkulonym ogonem.
Lepsza technologia wyparła gorszą.

Jakże różnorodne to były czasy. Zupełnie nieporównywalne do naszej szarej codzienności UTF8.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3062
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
RANKING charachter sets!!! Wyniki.
« Odpowiedź #1 dnia: 2015-04-29, 22:20:25 »
1. Wiele charsetów ma więcej niż jedną nazwę. Na przykład 8859_2 = ISO-8859-2 = ISO8859-2 = ISO88592 = ISO_8859-2 = Latin2

2. Kodowanie znaków zwyczajowo przyjęte jest jako unsigned, więc nie będzie tam liczb ujemnych. To, że char w C/C++ implementowany jest na ogół jako signed (bo standard zostawia tu wolną rękę developerom) nie ma znaczenia.

3. Pij mniej kawy.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy