?

Log in

No account? Create an account
опять программистское - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

опять программистское [авг. 1, 2005|12:24 pm]
Anatoly Vorobey
Идиотский баг дня. Интерфейс библиотеки (которую пишет другой отдел) требует передавать ей юникодные строки (указатель на wchar_t). При этом саму библиотеку они перевели с Windows на юникс, оставив внутренний тип двухбайтным, в то время как в юниксе wchar_t четырёхбайтный обычно всё же. В интерфейсе или документации этот незначительный факт они не указали.

Я ненавижу компьютеры. Но ещё больше я ненавижу программистов.
СсылкаОтветить

Comments:
[User Picture]From: shmop
2005-08-01 09:27 am
Но обычно юникод двухбайтный... или нет?
(Ответить) (Thread)
[User Picture]From: avva
2005-08-01 09:44 am
Обычно он вообще абстрактный, зависит от репрезентации.
(Ответить) (Parent) (Thread)
[User Picture]From: squadette
2005-08-01 10:10 am
печать надо сделать

----------------------
ЖЫВОТНОЕ!
ЮНИКОД -- АБСТРАКТНЫЙ!
----------------------

(юникод абстрактен, и поэтому верен!)

людей, которые назвали флажок в перле, помечающий юникодность скаляра, "UTF8", надо поймать и <глаза наливаются кровью>

(Ответить) (Parent) (Thread)
[User Picture]From: kozodoev
2005-08-01 06:13 pm
юникод не абстрактный, а мерзкий и подлый, как известно
такие дела
(Ответить) (Parent) (Thread)
[User Picture]From: cmm
2005-08-01 09:46 am
FVO "обычно" being "in Java", да.

(хотя вообще–то фраза "юникод двухбайтный" не имеет смысла).
(Ответить) (Parent) (Thread)
[User Picture]From: shmop
2005-08-01 09:51 am
Ну я имел ввиду, что каждый character представлен двумя байтами.
(Ответить) (Parent) (Thread)
From: 9000
2005-08-02 09:33 am
Extanded-символы типа редких китайских иероглифов требуют до 4 байт (а в некоторых вариантах кодирования и до 6, iirc).
См. напр. extension B в unihan (http://www.unicode.org/charts/unihangridindex.html) -- точно в 2 байта не лезет :)
(Ответить) (Parent) (Thread)
[User Picture]From: bealex
2005-08-01 11:26 am
http://www.unicode.org/standard/principles.html

Encoding Forms

Character encoding standards define not only the identity of each character and its numeric value, or code point, but also how this value is represented in bits.

The Unicode Standard defines three encoding forms that allow the same data to be transmitted in a byte, word or double word oriented format (i.e. in 8, 16 or 32-bits per code unit). All three encoding forms encode the same common character repertoire and can be efficiently transformed into one another without loss of data. The Unicode Consortium fully endorses the use of any of these encoding forms as a conformant way of implementing the Unicode Standard.

UTF-8 is popular for HTML and similar protocols. UTF-8 is a way of transforming all Unicode characters into a variable length encoding of bytes. It has the advantages that the Unicode characters corresponding to the familiar ASCII set have the same byte values as ASCII, and that Unicode characters transformed into UTF-8 can be used with much existing software without extensive software rewrites.

UTF-16 is popular in many environments that need to balance efficient access to characters with economical use of storage. It is reasonably compact and all the heavily used characters fit into a single 16-bit code unit, while all other characters are accessible via pairs of 16-bit code units.

UTF-32 is popular where memory space is no concern, but fixed width, single code unit access to characters is desired. Each Unicode character is encoded in a single 32-bit code unit when using UTF-32.

All three encoding forms need at most 4 bytes (or 32-bits) of data for each character.

То, что сейчас он "обычно двухбайтный" - это просто "так получилось".
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2005-08-01 11:37 am
Просто нужно бить людей по голове книгой Unicode Standard последней версии, приговаривая: АБСТРАКТНЫЙ АБСТРАКТНЫЙ АБСТРАКТНЫЙ

Пока не поймут смысл этого слова.
(Ответить) (Parent) (Thread)
From: (Anonymous)
2005-08-21 12:25 pm
şţăâî
(Ответить) (Parent) (Thread)
[User Picture]From: ygam
2005-08-01 05:22 pm
Ну вот, например, кантонских иероглифов слишком много, чтобы уместиться в два байта.
(Ответить) (Parent) (Thread)
From: kvasimodo
2005-08-01 09:40 am

Но тем не менее

Когда-нибудь вся власть перейдет к ним. Правда, тогда и программистов не будет.
Убить всех людей! Начать с программистов!
slava_robotam!!!
(Ответить) (Thread)
[User Picture]From: dervish_candela
2005-08-01 10:42 am
А... а какой @#$% догадался переводить проект на разные платформы по кусочкам?... Нет, дождутся все наномашин, вот тогда власть перейдёт в руки одиночек. Ещё посмотрим, кто кого поубивает...
(Ответить) (Thread)
From: ex_egle611
2005-08-01 11:09 am
Гы! (здесь идет вереница мрачных мыслей о том, что наши программисты когда писали на Windows использовали wchar_t как двухбайтный, о том, что мой Макинтошный компайлер с этим пока согласен, и о том, что скоро надо будет перейти на другой компайлер, а там, по-видимому, wchar_t будет, таки, 4-х байтным... )
Гы!
(Ответить) (Thread)
From: starkxp
2005-08-01 11:34 am
программисты маст дай!
(Ответить) (Thread)
[User Picture]From: jbaruch
2005-08-01 01:29 pm
avva, Java зовет, причем давно.
Все баги, из за которых Вы ненавидите компьютеры и программистов в Джаве просто не могут быть :)

Там есть другие, но ненависти они не вызывают :)
Вызывают интерес :)
(Ответить) (Thread)
[User Picture]From: na_probu
2005-08-01 02:09 pm

оффтоп.

По поводу багов в ЖЖ , я понимаю можно вам поплакатся ?
Баг дебильный совсем. В тагах.

П.С. Если я по адресу, то могу описать баг.
(Ответить) (Thread)
[User Picture]From: avva
2005-08-01 02:16 pm
Не, совсем не по адресу уже. Попробуйте в zilla.livejournal.org или в официальном суппорте сайта, на ваш выбор.
(Ответить) (Parent) (Thread)
[User Picture]From: vasche
2005-08-02 05:59 pm
Обычное дело. Была та же хуйня.
(Ответить) (Thread)