- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
const QStringList numbers = QString::fromUtf8("Ноль|" \
"Один|" \
"Два|" \
"Три|" \
"Четыре|" \
"Пять|" \
"Шесть|" \
"Семь|" \
"Восемь|" \
"Девять" \
).split('|');
Можно еще в четверке поставить кодек ютф-8 для систрингов и не париться.
А я всегда так и делал. И удивился, когда на пятёрке проект начал ломаться от этой строки.
и разбить регекспом по согласным буквам. В Qt же есть регекспы? И они работают для utf8?
"НольОдинДваТриЧетыреПятьШестьСемьВо семь Девять".split /(?=[А-Я])/
Если в qT нет split по регекспу, то длиннее, а если есть - короче.
Q_UNUSED(size);
return QString::fromUtf8(str);
}
const QStringList numbers = {
"Ноль"_fu8,
"Один"_fu8,
"Два"_fu8,
"Три"_fu8,
"Четыре"_fu8,
"Пять"_fu8,
"Шесть"_fu8,
"Семь"_fu8,
"Восемь"_fu8,
"Девять"_fu8};
Улучшать, так по иксзибитовски, на полную катушку. А вообще, можно сделать чтобы QString автоматом из utf8 читал, и не париться с пользовательским литералом
Так правильней: