GetCPBuffer - функция определения кодовой страницы

Разработка Far.
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 311 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by DrKnS »

Latest post of the previous page:

Так мы хотим преобразовать к юникоду или таки определить кодовую страницу?
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 311 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by DrKnS »

Размер сигнатуры - он как бы постоянный и прибит гвоздями к кодовой странице: 2 байта на UTF16 LE/BE, 3 на UTF8.
В ближайшее N десятков лет это вряд ли изменится, поэтому не вижу проблем сделать в плагине if (utf8) ptr += 3;
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by Skirda »

DrKnS wrote:Так мы хотим преобразовать к юникоду или таки определить кодовую страницу?
Корректно прочитать файл (в случае TempPanel, FarCmds), корректно показать в редакторе вывод программ (FarCmds).
DrKnS wrote:Размер сигнатуры - он как бы постоянный и прибит гвоздями к кодовой странице: 2 байта на UTF16 LE/BE, 3 на UTF8.
В ближайшее N десятков лет это вряд ли изменится, поэтому не вижу проблем сделать в плагине if (utf8) ptr += 3;
Это понятно. Но, для случая OEM/ANSI размер сигнатуры равен нулю.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 311 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by DrKnS »

Но, для случая OEM/ANSI размер сигнатуры равен нулю.
Да он и для юникода может быть равен нулю при отсутствии оной.
Логично, offset нужен.
User avatar
zg
zero-gravity
Posts: 5863
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 155 times
Contact:

Re: GetCPBuffer - функция определения кодовой страницы

Post by zg »

Skirda wrote:

Code: Select all

    DWORD Flags;
как бы в целом в апи принято:
typedef unsigned __int64 UCDFLAGS;
UCDFLAGS Flags;
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by Skirda »

zg wrote:typedef unsigned __int64 UCDFLAGS;
UCDFLAGS Flags;
Изменил.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 311 times

Re: GetCPBuffer - функция определения кодовой страницы

Post by DrKnS »

Skirda wrote:UCDFLAGS Flags;
А почему "UCD"?
Насколько я понимаю, надо что-то типа обертки над filestr::GetFileFormat, а там далеко не только UCD.
Post Reply

Return to “Development”