Страница 1 из 1

Работа строк в Linux и Windows

Добавлено: 04.04.2015 01:25:41
Sharfik
Вопрос, допустим есть такой код.

Код: Выделить всё

InputFilePath:=paramstr(1); //Sys format
      if FileExists(InputFilePath)then
      begin
        OpenTableFile(InputFilePath,nil);
      end
      else begin
        ShowMessage('Нет данных для работы.');
        close;
      end;

В Win строка приходит в системной кодировке, и дальше по функции обработка идет функциями без приписок UTF8 и передается TNativeXML для чтения файла.
Как поведет себя код в Linux/Mac? Обработается без проблем?

Re: Работа строк в Linux и Windows

Добавлено: 04.04.2015 01:54:41
Ism
Чтоб везде работало надо обработку делать только в utf8. Возврат в системной кодировке в винде иногда глючит.

Re: Работа строк в Linux и Windows

Добавлено: 04.04.2015 02:03:40
Sharfik
paramstr(1) уже приходит не utf8...

Re: Работа строк в Linux и Windows

Добавлено: 04.04.2015 11:40:56
Ism
Значит надо принудительно все конвертировать в utf8 и явно задавать исходную кодировку в зависимости от системы

Re: Работа строк в Linux и Windows

Добавлено: 06.04.2015 18:53:21
eastorwest
В Lazarus видел функцию ParamStrUTF8 из FileUtil. Надеюсь, сократит код, связанный с начальными преобразованиями кодировок.