[image]

к вопросу о кодировках

 
1 2 3

TEvg

аксакал

админ. бан
предположим, чисто абстрактно, что создается с нуля новая система электросвязи которая цифровую информацию передает, в частности тексты. Вроде телеграфа нового.
И вот вопрос такой меня мучает - нужно ли для онной системы новую кодировку придумывать, аль лучше взять какую-либо существующую, например из компьютерного мира?

Задачка такая - текстовочку как по-русски, так и на вражеском языке передавать - например аглицком или гишпанском, в общем на всех европейских, а также на братских славянских. А по-китайки передавать ничего не планируется, хотя особо и не запрещенно вроде.

Какие предположения будут?
   
+
-
edit
 

HolyBoy

аксакал

Пользоваться UTF-8/16. При необходимости что-то скрыть, использовать шифрование.
   

TEvg

аксакал

админ. бан
>Пользоваться UTF-8/16

Вопрос первый: почему 8/16 написаны через черточку? Это одна кодировка или разные?

Уточнение: нужна одна кодировка. Зоопарк запрещается.

>При необходимости что-то скрыть, использовать шифрование.

Это не вопрос - и шифрование и сжатие. Вопрос в том как полученную информацию будут оконечные терминалы интерпретировать.
   
+
-
edit
 

Balancer

администратор
★★★★★
UTF-8 и нефиг парить мОзги. Уже давно устоялась и устаканилась во всём мире, только пользователи Windows ещё колбасятся с зоопарком кодировок :D

Она экономно передаёт до 231 символов. Пока хватает на все алфавиты и спецсимволы с огромным запасом. Она же - и на Авиабазе сейчас используется - ただそれだけのこと単純
   

TEvg

аксакал

админ. бан
странный результат
Прикреплённые файлы:
utf8.gif (скачать) [9,8 кБ]
 
 
   

TEvg

аксакал

админ. бан
>UTF-8

А почему 8, а не 16 скажем?
в чем разница?
   

Balancer

администратор
★★★★★
TEvg> странный результат

Шрифты у тебя без поддержки японского. Где такой антиквариат откопал? :)
   

Balancer

администратор
★★★★★
TEvg> А почему 8, а не 16 скажем?

В UTF-8 каждый символ кодируется N 8-битных байтов. Т.е. кодится для передачи по любым 8-ми битным каналам и архитектурам, коих на сегодня большинство. UTF-8 — Википедия

16 - соответственно, 16 бит на символ. Встречается намного реже и стандартом де факто не является - UTF-16 — Википедия
   
RU Ведмедь #18.01.2008 10:54  @Balancer#18.01.2008 10:42
+
-
edit
 

Ведмедь

модератор
★★
TEvg>> странный результат
Balancer> Шрифты у тебя без поддержки японского. Где такой антиквариат откопал? :)

У меня еще прикольнее:
Прикреплённые файлы:
 
   
+
-
edit
 

Balancer

администратор
★★★★★
Понятно всё с вами ;) Вот так оно в правильных ОС читается ;)

   

TEvg

аксакал

админ. бан
>В UTF-8 каждый символ кодируется N 8-битных байтов.

А что означает буковка N?
   
+
-
edit
 

HolyBoy

аксакал

Количество этих байтов показывает. На вики более подробно.
   

Balancer

администратор
★★★★★
TEvg> А что означает буковка N?

N - некоторе число от 1 до 6 :)

В один байт кодируются знаки пунктуации, цифры и базовая латиница (128-20 = 108 символов). В два байта - основные международные символы, от всяких умляутов (úùßü) до русского, греческого, грузинского,кучи спецсимволов (⅝Ⅷ↺≱⌬⌨) и т.д. и т.п. Три, четыре - иероглифы всякие, мёртые языки и т.п. Пяти и шестибайтовые, вроде, пока только зарезервированы.

Вот так в Gnome выглядит таблица выбора символа:


А это - детальная информация о символе. По описанию возможен поиск по всем описанным символам (скажем, "серп и молот" так и искал по запросу "hammer"):



Т.е. по второму скрину виден UTF-8 код и понятно, что данный символ представляется тремя байтами.
   
RU Клапауций #18.01.2008 11:59  @Balancer#18.01.2008 10:59
+
-
edit
 

Клапауций

координатор
★★☆
Balancer> Понятно всё с вами ;) Вот так оно в правильных ОС читается ;)

(гордо) у меня правильная ОС (WinXP) ! ;)
   

TEvg

аксакал

админ. бан
Так-с. Вопрос второй. Преимущества и недостатки UTF-16.
   

Balancer

администратор
★★★★★
TEvg> Так-с. Вопрос второй. Преимущества и недостатки UTF-16.

Реальных преимуществ не знаю, недостаток - невозможность работы в классических 8-битных системах.

Потому он и непопулярен :)

А, да. Ещё в UTF-16 вылезает классическая бяка с порядком байтов - т.е. там фактически две кодировки получается, UTF-16LE и UTF-16BE, в зависимости от железа, на котором используется. И символов - только 220:)
   
RU Balancer #18.01.2008 12:18  @Клапауций#18.01.2008 11:59
+
-
edit
 

Balancer

администратор
★★★★★
Клапауций> (гордо) у меня правильная ОС (WinXP) ! ;)

MS скоро прекратит её поддержку :)
   

TEvg

аксакал

админ. бан
>недостаток - невозможность работы в классических 8-битных системах.

Что за бред? Если UTF-8 от 8 до 48 битов имеет и в частном случае - 16 бит, на русских буквах между прочим. Что мешает работать UTF-16?
   

TEvg

аксакал

админ. бан
>А, да. Ещё в UTF-16 вылезает классическая бяка с порядком байтов - т.е. там фактически две кодировки получается, UTF-16LE и UTF-16BE, в зависимости от железа, на котором используется.

А в UTF-8 порядок байт жестко определен?
   

Balancer

администратор
★★★★★
TEvg> Что мешает работать UTF-16?

Классические средства передачи данных (скажем, банальный e-mail) расчитаны только на передачу 8-битных символов. Для UTF-8 это прокатывает. А вот UTF-16 состоит из 16-битных символов. Передвать их поодиночке - нельзя, они могут быть нулевыми, скажем. Как реагирует тот же Си/Си++ на нулевой байт в строке напоминать? :)

(Я там выше постинг дополнил другими недостатками - на разных процессорах придётся использовать разную UTF-16)
   

Balancer

администратор
★★★★★
TEvg> А в UTF-8 порядок байт жестко определен?

Да, естественно.
   
RU Серокой #18.01.2008 12:25  @Ведмедь#18.01.2008 10:54
+
-
edit
 

Серокой

координатор
★★★★
Ведмедь> У меня еще прикольнее:
У меня третий вариант. Если б не ваши скриншоты - и не понял бы, что там японские письмена. )
Прикреплённые файлы:
fnt1.gif (скачать) [1,21 кБ]
 
 
   
RU Balancer #18.01.2008 12:27  @Серокой#18.01.2008 12:25
+
-
edit
 

Balancer

администратор
★★★★★
Ведмедь>> У меня еще прикольнее:
Серокой> У меня третий вариант.

И это - в XXI веке?! :D
   
RU Серокой #18.01.2008 12:29
+
-
edit
 

Серокой

координатор
★★★★
А собсно что надо для отображения? У меня ВинХП СП2. :)
Качать отдельно фонты?
   
+
-
edit
 

pokos

аксакал

Balancer> Классические средства передачи данных (скажем, банальный e-mail) расчитаны только на передачу 8-битных символов....
Вообще-то классический e-mail рассчитан на передачу 7-ми битных символов. Эх, молодые историю плохо знают... Про uuencode, небось, вообще не слышали.
   
1 2 3

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru