Объединить два байта в WideChar
Можно ли совместить два Bytes
в WideChar
и если да, то как?
Например, буква "ē" в двоичном виде 00010011
знак равно 19
а также 00000001
знак равно 1
, или же 275
все вместе.
var
WChar: WideChar;
begin
WChar := WideChar(275); // Result is "ē"
var
B1, B2: Byte;
WChar: WideChar;
begin
B1 := 19;
B2 := 1;
WChar := CombineBytesToWideChar(B1, B2); // ???
Как я могу получить WideChar
из двух байтов в Delphi?
2 ответа
Решение
Вы должны просто иметь возможность создать тип и привести:
type
DoubleByte = packed record
B1: Byte;
B2: Byte;
end;
var
DB: DoubleByte;
WC: WideChar;
begin
DB.B1 := 19;
DB.B2 := 1;
WC = WideChar(DB);
end;
В противном случае вы можете использовать Move()
вместо этого и просто скопируйте память.