LINUX.ORG.RU

С++, UTF-8 и ASCII


0

0

Пишу драйвер. Локаль - UTF-8. Устройству надо ASCII. Соответственно получаем проблему с русскими буквами. Как можно осуществить преобразование?

Заранее спасибо.

Re: С++, UTF-8 и ASCII

А не проще локаль сменить?

anonymous ()

Re: С++, UTF-8 и ASCII

Из UTF-8 в ASCII преобразовывать легко - режешь все символы с кодами больше 127 =)

Или тебе все-таки не ASCII нужно, а Latin-1?

int19h ★★★★ ()
Ответ на: Re: С++, UTF-8 и ASCII от int19h

Re: С++, UTF-8 и ASCII

доке на устройство написанно ASCII. Резать больше 127 не могу, потому как в том и дело что нужно русские буковки на устройство передавать.

Локаль ведь у конечных юзверей будет разная, не менять же всем потом из-за одного драйвера ее :((

hayova ()

Re: С++, UTF-8 и ASCII

Может быть использовать UTF-7

Legioner ★★★★★ ()
Ответ на: Re: С++, UTF-8 и ASCII от hayova

Re: С++, UTF-8 и ASCII

> доке на устройство написанно ASCII. Резать больше 127 не могу, потому как в том и дело что нужно русские буковки на устройство передавать.

О том и речь, что ASCII - это семибитная кодировка, в которой русских букв просто нет.

А что за устройство? Вообще, если сей девайс каким-то боком воспринимает кириллицу, то оно не может быть только ASCII - должна быть поддержка одной из восьмибитных или многобайтных русских кодировок. Если же оно просто данные куда-то записывает или передает, тогда кодируй в base64, например, и вперед...

int19h ★★★★ ()
Ответ на: Re: С++, UTF-8 и ASCII от int19h

Re: С++, UTF-8 и ASCII

цитирую:

"Все поля представляют собой строки, состоящие из ASCII символов в диапазоне от 20h до FFh..."

hayova ()
Ответ на: Re: С++, UTF-8 и ASCII от hayova

Re: С++, UTF-8 и ASCII

> "Все поля представляют собой строки, состоящие из ASCII символов в диапазоне от 20h до FFh..."

Используй любую 8-битную кодировку.

anonymous ()

Re: С++, UTF-8 и ASCII

NAME
       iconv - perform character set conversion

SYNOPSIS
       #include <iconv.h>

       size_t iconv(iconv_t cd,
                     char **inbuf, size_t *inbytesleft,
                     char **outbuf, size_t *outbytesleft);

kmeaw ★★ ()
Ответ на: Re: С++, UTF-8 и ASCII от hayova

Re: С++, UTF-8 и ASCII

> строки, состоящие из ASCII символов в диапазоне от 20h до FFh...

UTF-8 именно это и есть.

watashiwa_daredeska ★★★★ ()
Ответ на: Re: С++, UTF-8 и ASCII от watashiwa_daredeska

Re: С++, UTF-8 и ASCII

> #include <iconv.h>

Опа... признаю... не знал =)

hayova ()
Ответ на: Re: С++, UTF-8 и ASCII от hayova

Re: С++, UTF-8 и ASCII

Угу в ядре особенно (драйвер я так понимаю - модуль ядра?).

Begemoth ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.