LINUX.ORG.RU

C / html->pain text


0

1

Привет всем,

Если ли ну нас какая-нибудь библиотека или функция на С, которая может преобразовать буфер с юникодным html в обычный текст? Ну то есть из этого: buf=«%D0%9E%D1%82%D0%B2%D0%B5%D1%82%3A%20Hello» Cделать: buf_unencoded=«Привет: Hello»

Что-то мне подсказывает что это класический случай и такого должно быть валом.


Ответ на: комментарий от anonymous

Боюсь, своя альтернатива будет еще дырявее. Поэтому лучше уж буду пользоваться тем, что есть. В критических случаях можно делать так:

char *buf = (char*) calloc(BUFSIZ, 1);
... // данные -> char *str
strncpy(buf, str, BUFSIZ);
buf[BUFSIZ] = 0;
...
В этом случае строка точно будет заканчиваться нулем.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

:) опять очепятку, приводящую к неминуемому переполнению буфера, сделал...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Боюсь, своя альтернатива будет еще дырявее.

Да бросьте нас пугать. Простейшей альтернативой может быть:

[code] void safe_strncpy(char* dst, const char* src, size_t n) { strncpy(dst, src, n-1); dst[n-1] = '\0'; } [/code]

Поэтому лучше уж буду пользоваться тем, что есть.

Пожалуйста, только сначала научитесь этими средствами пользоваться.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.