Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

XC8 компилатор и стрингове на кирилица
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=16588
Страница 1 от 1

Автор:  slav4o.com [ Сря Юни 12, 2019 5:13 pm ]
Заглавие:  XC8 компилатор и стрингове на кирилица

Ами това е, имам:
char * "Ala bala";

искам:
char * "Ала бала";

обаче компилатора обръща всичко във "??? ????". Някакъв удобен начин има ли ?

Автор:  kalata23 [ Сря Юни 12, 2019 5:34 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

Този стринг за какво го ползваш? Много зависи от операционната система и енкодинга на С файла.

Автор:  slav4o.com [ Сря Юни 12, 2019 5:42 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

Ами това е html код, когато го чета от EEPROM си работи добре. Но искам да го вкарам в PIC-a :)

Автор:  ДедоБоре [ Сря Юни 12, 2019 5:55 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

като начало си изясни каква кирилица искаш да използваш (с какъв енкодинг) - 1251, UTF8 и т.н.
предвид, че уде реч за микроконтролер, вероятно ще искаш 8-битови стрингове с 1251 енкодинг
т.е А (на кирилица) е 0xC0, Б e 0xC1 и т.н. имай в предвид, че само буквите са на мястото си, по-собените символи (примерно номер, аксантни знаци и подобни) са според зависи :P

не мисля, че ще поискаш уникод.

след това се увери, че всички инструменти по веригата са с този енкодинг - редактор, компилатор, сериен терминал и т.н.
погледни какво точно има в сорс файла като стринг. ако си написал "ABCАБВ" във файла трябва да има (hex) 31 32 33 C0 C1 C2
компилирайго и се увери, че в bin файла е същото.

последно - сетинга на серийния терминал, ако го ползваш да четеш въпросния стринг. разбира се и комуникацията трябва да е 8 бита 8)

Автор:  slav4o.com [ Сря Юни 12, 2019 6:06 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

Ами по принцип използвам 1251 от данните които субмитва браузъра декодирам стринговете и ги пиша в EEPROM в 8 бита. Това което пращам аз е 8 бита.
Всичко си работи, системата работи перфекетно, направо си го пращам директно и си го отаваря на кирилица браузъра.
Въпроса е по-скоро как да вкарам 0xC0 във стринга директно. Как да го изпиша по някакъв удобен начин. Да инициализирам символ по символ: {0xC0, 0xC1, 0xC2} целият стринг би било страшна играчка. Те са малко кирилските символи, ако може само тях да вмъкна по някакъв такъв начин, но не зная как става.

Автор:  michev [ Сря Юни 12, 2019 6:10 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

C/h файлът ти в какъв енкодинг е? Ако го конвертираш до 1251, вероятно ще може да си пишеш стринговете на кирилица както си показал в първият си пост.

Автор:  kalata23 [ Сря Юни 12, 2019 6:16 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

Нещо не разбирам съвсем къде ти се получава проблема. Може ли повече детайли къде ти излизат йероглифите?

Автор:  slav4o.com [ Сря Юни 12, 2019 6:19 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

Ами не знам какъв е енкодига, не намирам никъде да пише в MPLAB
Ами не излизат йероглифи, просто XC8 слага '?' на мястото на всеки кирилски символ.
A току що намерих как става:

"Ala bala \xC0 \xC1 \xC2";

Автор:  TheWizard [ Сря Юни 12, 2019 6:23 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

MPLAB-X - Create New Project - там някъде има падащо меню енкодинг - Вин 1251
и ще виждаш printf("НАЧАЛО\n");

при създаден проект - имаше редакция на екондинга, но не се сещам къде точно беше

Автор:  TheWizard [ Сря Юни 12, 2019 6:27 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

.

Прикачени файлове:
Untitled.png
Untitled.png [ 186.1 KiB | Прегледано 5862 пъти ]

Автор:  kalata23 [ Сря Юни 12, 2019 6:31 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

TheWizard написа:
MPLAB-X - Create New Project - там някъде има падащо меню енкодинг - Вин 1251
и ще виждаш printf("НАЧАЛО\n");

при създаден проект - имаше редакция на екондинга, но не се сещам къде точно беше


Сега те разбрах. Ами би трябвало, като дадеш на С файла - Save As, да имаш Encoding. Освен това се сетих, дали е възможно от операционната система да нямаш оправен език за Non-Unicode programs.

Автор:  slav4o.com [ Сря Юни 12, 2019 6:35 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

TheWizard написа:
...

Браво бе, наистина си магьосник :)
Намерих го в пропъртис на General. Малко ми дава warning:
" warning: illegal character encoding in string literal [-Winvalid-source-encoding]"
обаче всичко си работи .
Мерси на всички :)

Автор:  TheWizard [ Сря Юни 12, 2019 9:02 pm ]
Заглавие:  Re: XC8 компилатор и стрингове на кирилица

е па едни го в настройките на С-то
-Wno-invalid-source-encoding

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/