将两个字节合并为 WideChar
Posted
技术标签:
【中文标题】将两个字节合并为 WideChar【英文标题】:Combine two Bytes to WideChar 【发布时间】:2012-12-16 18:06:11 【问题描述】:是否可以将两个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
?
【问题讨论】:
【参考方案1】:WChar := WideChar(MakeWord(B1, B2));
【讨论】:
啊,我忘了 MakeWord,很好 :)【参考方案2】:你应该能够创建一个类型并强制转换:
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()
并简单地复制内存。
【讨论】:
以上是关于将两个字节合并为 WideChar的主要内容,如果未能解决你的问题,请参考以下文章
ASM字节码操作 工具类与常用类 如何合并两个类文件 StaticInitMerger 类介绍
将多字节数组图像数据合并为一个字节数组数据,并将WriteAllBytes合并为单个图像输出