Lit*_*per 6 delphi byte bytearray widechar
我这里有一个简单的问题.如何在Delphi - 7中转换WideChar为2x Byte?我搜索了互联网和StackOverflow,但没有结果......
And*_*and 12
大卫给了你更好的方法,即
var
b1, b2: Byte;
wc: WideChar;
...
b1 := WordRec(wc).Lo;
b2 := WordRec(wc).Hi;
Run Code Online (Sandbox Code Playgroud)
一些其他选项(只是为了好玩):
b1 := Lo(Word(wc));
b2 := Hi(Word(wc));
Run Code Online (Sandbox Code Playgroud)
和
b1 := Byte(wc);
b2 := Byte(Word(wc) shr 8);
Run Code Online (Sandbox Code Playgroud)
和
b1 := PByte(@wc)^;
b2 := PByte(NativeUInt(@wc) + 1)^;
Run Code Online (Sandbox Code Playgroud)
和
var
wc: WideChar;
bytes: WordRec absolute wc;
begin
// Magic! The bytes are already found in bytes.Lo and bytes.Hi!
Run Code Online (Sandbox Code Playgroud)
有很多方法可以做到这一点.例如,我个人的选择是:
var
b1, b2: Byte;
wc: WideChar;
....
b1 := WordRec(wc).Lo;
b2 := WordRec(wc).Hi;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1467 次 |
| 最近记录: |