3

是否可以将两者结合起来BytesWideChar如果可以,那么如何?
例如,二进制中的字母“ē”是00010011=1900000001= 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 中的两个字节中获取?

4

2 回答 2

8
WChar := WideChar(MakeWord(B1, B2));
于 2013-01-02T11:23:49.070 回答
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()改用它并简单地复制内存。

于 2013-01-02T11:20:00.370 回答