2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Помощь с юникодом в С
Сообщение23.02.2014, 09:04 


20/10/12
235
Добрый день, уважаемые участники форума!
Помогите, пожалуйста, разобраться, как вывести символы юникода в консоли.
Язык программирования - 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 


27/11/10
207
Есть неплохая статья по юникоду в плюсах. http://habrahabr.ru/post/164193/

 Профиль  
                  
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 13:28 
Заслуженный участник
Аватара пользователя


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

 Профиль  
                  
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 13:57 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Помощь с юникодом в С
Сообщение23.02.2014, 14:27 
Заслуженный участник


09/09/10
3729
В любом случае, штрих-код все поголовно выводят в графический файл (png, bmp, на что фантазии хватит).

 Профиль  
                  
 
 Re: Помощь с юникодом в С
Сообщение24.02.2014, 02:51 
Заслуженный участник


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

-- 24.02.2014, 03:57 --

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group