是否可以将两个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); // ???
如何从Delphi的两个字节中获取WideChar
?
答案 0 :(得分:8)
WChar := WideChar(MakeWord(B1, B2));
答案 1 :(得分:3)
你应该能够创建一个类型和强制转换:
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()
而只是复制内存。