delphi - WideChar 转换为字节?

标签 delphi arrays byte widechar

我有一个简单的问题。如何在 Delphi - 7 中将 WideChar 转换为 2xByte?我在互联网上搜索了StackOverflow但没有结果...

最佳答案

David给了你更好的方式,即,

var
  b1, b2: Byte;
  wc: WideChar;

...

b1 := WordRec(wc).Lo;
b2 := WordRec(wc).Hi;

其他一些选项(只是为了好玩):

b1 := Lo(Word(wc));
b2 := Hi(Word(wc));

b1 := Byte(wc);
b2 := Byte(Word(wc) shr 8);

b1 := PByte(@wc)^;
b2 := PByte(NativeUInt(@wc) + 1)^;

var
  wc: WideChar;
  bytes: WordRec absolute wc;

begin

  // Magic! The bytes are already found in bytes.Lo and bytes.Hi!

关于delphi - WideChar 转换为字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15388183/

相关文章:

delphi - 将日期时间参数与 ADO (ODBC) 一起使用会丢失时间部分

c - 如何制作像这样的输入的邻接矩阵

c - 标志验证不起作用。使用数组、scanf 函数和 strcmp

java - Netty 连接同时到达的消息

python - 在python中将字节文件转换为图像

delphi - 避免 Delphi 中的嵌套 try...finally block

apache - Delphi 7/Indy 9 应用程序未通过 SSL 连接到 Apache

database - TParams.ParamRef 有什么用?

PHP 将数组视为对象

java - 有没有办法在java中将字节转换为 boolean 数组?