Автор |
Съобщение |
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2588 Местоположение: Велико Търново / София
|
XC8 компилатор и стрингове на кирилица
Ами това е, имам: char * "Ala bala";
искам: char * "Ала бала";
обаче компилатора обръща всичко във "??? ????". Някакъв удобен начин има ли ?
|
Сря Юни 12, 2019 4:13 pm |
|
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 10:05 pm Мнения: 324
|
Re: XC8 компилатор и стрингове на кирилица
Този стринг за какво го ползваш? Много зависи от операционната система и енкодинга на С файла.
|
Сря Юни 12, 2019 4:34 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2588 Местоположение: Велико Търново / София
|
Re: XC8 компилатор и стрингове на кирилица
Ами това е html код, когато го чета от EEPROM си работи добре. Но искам да го вкарам в PIC-a
|
Сря Юни 12, 2019 4:42 pm |
|
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 10:31 pm Мнения: 9645
|
Re: XC8 компилатор и стрингове на кирилица
като начало си изясни каква кирилица искаш да използваш (с какъв енкодинг) - 1251, UTF8 и т.н. предвид, че уде реч за микроконтролер, вероятно ще искаш 8-битови стрингове с 1251 енкодингт.е А (на кирилица) е 0xC0, Б e 0xC1 и т.н. имай в предвид, че само буквите са на мястото си, по-собените символи (примерно номер, аксантни знаци и подобни) са според зависи не мисля, че ще поискаш уникод. след това се увери, че всички инструменти по веригата са с този енкодинг - редактор, компилатор, сериен терминал и т.н. погледни какво точно има в сорс файла като стринг. ако си написал "ABCАБВ" във файла трябва да има (hex) 31 32 33 C0 C1 C2 компилирайго и се увери, че в bin файла е същото. последно - сетинга на серийния терминал, ако го ползваш да четеш въпросния стринг. разбира се и комуникацията трябва да е 8 бита
|
Сря Юни 12, 2019 4:55 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2588 Местоположение: Велико Търново / София
|
Re: XC8 компилатор и стрингове на кирилица
Ами по принцип използвам 1251 от данните които субмитва браузъра декодирам стринговете и ги пиша в EEPROM в 8 бита. Това което пращам аз е 8 бита. Всичко си работи, системата работи перфекетно, направо си го пращам директно и си го отаваря на кирилица браузъра. Въпроса е по-скоро как да вкарам 0xC0 във стринга директно. Как да го изпиша по някакъв удобен начин. Да инициализирам символ по символ: {0xC0, 0xC1, 0xC2} целият стринг би било страшна играчка. Те са малко кирилските символи, ако може само тях да вмъкна по някакъв такъв начин, но не зная как става.
|
Сря Юни 12, 2019 5:06 pm |
|
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 9:16 am Мнения: 1705
|
Re: XC8 компилатор и стрингове на кирилица
C/h файлът ти в какъв енкодинг е? Ако го конвертираш до 1251, вероятно ще може да си пишеш стринговете на кирилица както си показал в първият си пост.
|
Сря Юни 12, 2019 5:10 pm |
|
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 10:05 pm Мнения: 324
|
Re: XC8 компилатор и стрингове на кирилица
Нещо не разбирам съвсем къде ти се получава проблема. Може ли повече детайли къде ти излизат йероглифите?
|
Сря Юни 12, 2019 5:16 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2588 Местоположение: Велико Търново / София
|
Re: XC8 компилатор и стрингове на кирилица
Ами не знам какъв е енкодига, не намирам никъде да пише в MPLAB Ами не излизат йероглифи, просто XC8 слага '?' на мястото на всеки кирилски символ. A току що намерих как става:
"Ala bala \xC0 \xC1 \xC2";
|
Сря Юни 12, 2019 5:19 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4719
|
Re: XC8 компилатор и стрингове на кирилица
MPLAB-X - Create New Project - там някъде има падащо меню енкодинг - Вин 1251 и ще виждаш printf("НАЧАЛО\n");
при създаден проект - имаше редакция на екондинга, но не се сещам къде точно беше
_________________ main[-1u]={1};
|
Сря Юни 12, 2019 5:23 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4719
|
Re: XC8 компилатор и стрингове на кирилица
.
_________________ main[-1u]={1};
|
Сря Юни 12, 2019 5:27 pm |
|
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 10:05 pm Мнения: 324
|
Re: XC8 компилатор и стрингове на кирилица
Сега те разбрах. Ами би трябвало, като дадеш на С файла - Save As, да имаш Encoding. Освен това се сетих, дали е възможно от операционната система да нямаш оправен език за Non-Unicode programs.
|
Сря Юни 12, 2019 5:31 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2588 Местоположение: Велико Търново / София
|
Re: XC8 компилатор и стрингове на кирилица
Браво бе, наистина си магьосник Намерих го в пропъртис на General. Малко ми дава warning: " warning: illegal character encoding in string literal [-Winvalid-source-encoding]" обаче всичко си работи . Мерси на всички
|
Сря Юни 12, 2019 5:35 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4719
|
Re: XC8 компилатор и стрингове на кирилица
е па едни го в настройките на С-то -Wno-invalid-source-encoding
_________________ main[-1u]={1};
|
Сря Юни 12, 2019 8:02 pm |
|
|