BG Development


  Reply to this topicStart new topicStart Poll

> utf8 в printf
korsarq
Публикувано на: 27-09-2018, 11:15
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 294
Регистриран на: 30.11.16



Значи имам утф8 текст ( не е стринг, няма 0 в края) как мога да го принтирам в принтф?

CODE
printf("%.*s", textBytes, text);


Ако се подаде броя на байтове на този текст с textBytes дали е правилно?Там по принцип не се ли подава броя символо?Тоест при утф8 е така е грешно?
PMEmail Poster
Top
wqw
Публикувано на: 27-09-2018, 11:36
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6021
Регистриран на: 10.06.04



ok си.

Нали printf не разбира от multi-byte символи и съответно всичкото отделен байт си е отделен символ за него. В utf-8 нямаш нула като част от кодирането и затова си gold.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
korsarq
Публикувано на: 27-09-2018, 11:44
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 294
Регистриран на: 30.11.16



А как мога да кажа да принтира определен брой символи от този текст?
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 27-09-2018, 12:17
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2170
Регистриран на: 21.02.18



Ползвай джава - там няма проблем с UTF-8


--------------------
https://www.rust-lang.org/
---
Недобросъвестните оратори се опитват да изкарат лошото добро.
---
PMEmail PosterUsers Website
Top
wqw
Публикувано на: 27-09-2018, 12:36
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6021
Регистриран на: 10.06.04



QUOTE (korsarq @ 27-09-2018, 11:44)
А как мога да кажа да принтира определен брой символи от този текст?

Това е по-трудно, но пак можеш да минеш без да "разбираш" много-много от utf-8, примерно това: http://www.zedwood.com/article/cpp-utf-8-mb_substr-function

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
SuN
Публикувано на: 27-09-2018, 12:37
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 8447
Регистриран на: 27.01.05



QUOTE (korsarq @ 27-09-2018, 11:44)
А как мога да кажа да принтира определен брой символи от този текст?

Ако не ти се мисли и не искаш да учиш нови функции/библиотеки може да прочетеш рфц-то и сам да си броиш символите с 4 бит маски (ако искаш да проверяваш за невалидно кодиране, иначе и 3 май ще ти свършат работа).
PMEmail Poster
Top
korsarq
Публикувано на: 27-09-2018, 12:50
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 294
Регистриран на: 30.11.16



Ох тук нашата имплементация на принтф поддържа и утф8 и си се оправя.Единсвената разлика е,че вместо брой символи се задават брой байтове
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0