Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 将两个字节合并为WideChar_Delphi_Delphi 7_Unicode String_Widechar_Multibyte Functions - Fatal编程技术网

Delphi 将两个字节合并为WideChar

Delphi 将两个字节合并为WideChar,delphi,delphi-7,unicode-string,widechar,multibyte-functions,Delphi,Delphi 7,Unicode String,Widechar,Multibyte Functions,是否可以将两个字节组合到WideChar中?如果可以,如何组合? 例如,二进制字母“ē”是00010011=19和00000001=1,或275 var WChar: WideChar; begin WChar := WideChar(275); // Result is "ē" 如何在Delphi中从两个字节中获取WideChar?您应该能够创建一个类型并强制转换: type DoubleByte = packed record B1: Byte; B2: B

是否可以将两个
字节
组合到
WideChar
中?如果可以,如何组合?
例如,二进制字母“ē”是
00010011
=
19
00000001
=
1
,或
275

var
  WChar: WideChar;
begin
  WChar := WideChar(275); // Result is "ē"


如何在Delphi中从两个字节中获取WideChar?

您应该能够创建一个类型并强制转换:

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()
代替,只需复制内存即可。

啊,我忘了MakeWord,很好:)
WChar := WideChar(MakeWord(B1, B2));
WChar := WideChar(MakeWord(B1, B2));