2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помощь с юникодом в С
Сообщение23.02.2014, 09:04 
Добрый день, уважаемые участники форума!
Помогите, пожалуйста, разобраться, как вывести символы юникода в консоли.
Язык программирования - C, среда - Visual Studio 2008.

Что бы было понятно - общая задача - вывести штрих-код EAN-13 в консоли или файле (да, это немного странно) и мне нужны символы для штрихов. С алгоритмом преобразования в штрихи все более или менее понятно, а вот с выводом нужен ваш совет.

Вообще говоря, мне подходит символ с кодом 219, который выводится в консоли, но штрих код не влезает по ширине в консоль, а в текстовом файле не выводится. Как быть?

PS Вот пример:
Такая штука выведется в консоли
Код:
printf("%c%c  %c%c %c", 219, 219, 219, 219, 219);

но весь штрих код туда не влезет(ширина консоли - 80 символов)
а вот в файл у меня так не выводится вообще

-- 23.02.2014, 09:39 --

Пока что есть решение с помощью простого изменения размера консольного окна.
Но про юникод в Си все же хотелось бы узнать.

 
 
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 13:10 
Есть неплохая статья по юникоду в плюсах. http://habrahabr.ru/post/164193/

 
 
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 13:28 
Аватара пользователя
shukshin в сообщении #829699 писал(а):
Вообще говоря, мне подходит символ с кодом 219, который выводится в консоли, но штрих код не влезает по ширине в консоль, а в текстовом файле не выводится. Как быть?
Я, кажется, чего-то не понимаю. Символ 219 в юникоде (U+00DB) - это Û (заглавная U с циркумфлексом). Штрих-коды она вряд ли поможет выводить.

 
 
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 13:57 
Xaositect в сообщении #829753 писал(а):
заглавная U с циркумфлексом
Подозреваю, имелась в виду псевдографика в 866 кодовой странице. По крайней мере, юникод здесь никаким боком.

 
 
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 14:27 
В любом случае, штрих-код все поголовно выводят в графический файл (png, bmp, на что фантазии хватит).

 
 
 
 Re: Помощь с юникодом в С
Сообщение24.02.2014, 02:51 
iifat в сообщении #829764 писал(а):
Подозреваю, имелась в виду псевдографика в 866 кодовой странице.
Очень похоже на то (правда не обязательно именно в 866, во всех нормальных кодовых страницах DOS псевдографика одинаковая с одинаковыми кодами). А "в файл не выводится" потому что полученный файл просматривается виндовым редактором (скорее всего notepad'ом) и интерпретируется как если бы он был в виндовой кодировке (CP1251 условно говоря).

-- 24.02.2014, 03:57 --

shukshin в сообщении #829699 писал(а):
штрих код не влезает по ширине в консоль
Используйте дополнительно символы 221 и 222 - половинки полосы. Так вы уменьшите размер в 2 раза.

А с файлом как я уже сказал скорее всего всё в порядке. Попробуйте сделать в консоли команду
Код:
copy "имя_файла" con
Если штрихкод выведется - значит всё нормально, просто нужно использовать подходящий просмотрщик. Но в целом устойчивое впечатление, что вы занимаетесь ерундой - почему бы вам действительно не генерить файл-картинку?

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group