|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
White Owlfopen() а что? Код: sql 1. 2.
Так? И компилятор жрёт? И оно работает?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2021, 18:49 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov White Owlfopen() а что? Код: sql 1. 2.
Так? И компилятор жрёт? И оно работает?.. Вот так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А то что имя файла в юникоде и текст в юникоде - программиста не колышет, для этих тонкостей ОС есть. А то что ты нарисовал со всякими wstring и модификаторами констант - это извращение и уродство. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2021, 19:04 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
White Owl Вот так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
И вот тут, лично у меня, возникает вопрос: как скормить в Цэ-API строку, три четверти байт которой - нулевые. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 11:35 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
petrav, petravUTF32. Вот видишь, Сов говорит, что UTF-32 не нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 12:50 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Это всё, конечно, прэлэстно, но petrav "яростно топил" за UTF32. И вот тут, лично у меня, возникает вопрос: как скормить в Цэ-API строку, три четверти байт которой - нулевые. Как данные для прочитать из файла/базы, потом нарисовать на экране текст и обратно прочитать из поля ввода и записать в базу? Это отработано уже десятилетия. Любой посетитель этого топика (ну кроме совсем уж студентов первогодок) это делал неоднократно. А вот то что тут так яростно обсуждается по запихиванию юникодных строк в исходный текст программы - вот это дурацкий вопрос и совершенно не нужное извращение. Хотя да, с технической точки зрения можно использовать модификаторы строк объясняя компилятору что вот сейчас мы сойдем с ума и будем запихивать в исходник широкую строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:14 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Это уже примерно третий топик на тему utf-8. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:23 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
White OwlЭто отработано уже десятилетия. Любой посетитель этого топика (ну кроме совсем уж студентов первогодок) это делал неоднократно. Да, да. Один пользователь сохраняет файл "абв", второй пользователь пытается открыть файл "абв" и получает "файл не найден". Любой посетитель этого топика тут же поймёт "опаньки, у них разные локали, а любая линуховая файловая система воспринимает имя файла чисто как последовательность байт". Щазззз... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:34 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Да, да. Один пользователь сохраняет файл "абв", второй пользователь пытается открыть файл "абв" и получает "файл не найден". Любой посетитель этого топика тут же поймёт "опаньки, у них разные локали, а любая линуховая файловая система воспринимает имя файла чисто как последовательность байт". Щазззз... Вот с линуксовой машины я свободно открываю файлы с юникодными именами (кириллица и хирагана) записанные на NAS. В том числе и тем примитивным кодом что я тут показал пару постов тому назад. А вот на Вин10, есть у меня программка обучения японского которая и создает эти самые файлы с хираганой в имени - так вот обратно она их открыть не может "no such file". Сама создала, сама потеряла. Поэтому приходится следить чтобы все файлы она создавала с английскими именами, либо заходить на NAS с линуксовой машины и переименовывать файлы. Причем это переименование я могу делать как в sh, так и в Nemo, и даже в линуксовой версии FAR. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 02:02 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
White Owlя свободно открываю файлы с юникодными именами (кириллица и хирагана) записанные на NAS. А теперь, внимание, вопрос: какая файловая система и протокол доступа? Повторяю медленно: ты создаёшь файлы не "с кириллицей и хираганой", а с пачкой байт в которую твоя кириллица и хирагана воспроизводимо конвертируются. Локалью, гвоздиком прибитой в utf-8. Твои коллеги в дельфийском разделе, обращаясь к неинициализированным переменным и мусору в освобождённой памяти тоже говорят "так работает же всё уже десятки лет", ага... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 12:46 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Поскольку Белый Сова работает с Linux, то основные протоколы доступа к фс специфицированы на уровне слоя VFS. Тоесть если VFS гарантирует точное сохранение имен файлов как неспецифицированных блобов то и реализации такие как ext4, xfs, btrfs ... e.t.c. нормально схавают любые коды символов и сохранит их "as is". IMHO. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 12:54 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Вот именно про это я и говорил. Всё работает пока текущая пользовательская локаль прибита гвоздиком. Шаг влево-шаг вправо - опаньки. Хотя с его NAS-ом оно может работать и с любой локалью поскольку (внезапно) там NTFS и SMB, а линуховский драйвер NTFS переводит байты из текущей локали в (опять внезапно) юникод. Поэтому разбудите меня, когда из ядра выпилят все локали кроме utf-8, чтобы настало единообразное благолепие. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 13:01 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
IMHO сложно будет с Collation. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 13:09 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
Какие ещё collation? У Сова программы принимают строки как есть и используют как есть, (только) поэтому работают. Регистронечувствительность (в том числе файловых систем) - от Лукавого. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2021, 13:29 |
|
std::ofstream и char8_t
|
|||
---|---|---|---|
#18+
petrav, я и сейчас прекрасно пользуюсь utf8 в обычном std::string (basic_string<char>) вместе со стеком GTK+ и горя не знаю. В GTK+ даже под вендой всё на utf8... Выставил при старте приложухи локаль "ru_RU.UTF-8" и норм. Если надо вывести в поток в другой кодировке, выставил через imbue() локаль для ostream и пиши сколько влезет. В чём проблема? Просто сделали std::u8string ТОЛЬКО для utf8. По мне так очень удобно! Можно хранить всё в utf8, а для всего остального использовать системную локаль и всё будет прекрасно перекодироваться туда-обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2021, 10:30 |
|
|
Start [/forum/topic.php?fid=57&msg=40087337&tid=2017187]: |
0ms |
get settings: |
17ms |
get forum list: |
17ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
23ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
304ms |
get tp. blocked users: |
0ms |
others: | 339ms |
total: | 709ms |
0 / 0 |