有人知道非ascii编码吗?
Anybody know a non-ascii encoding?
'1'使用两个字节20和0;
'2' 使用两个字节 21 和 0;
'a'使用两个字节68和0;
'b' 使用两个字节 69 和 0;
我正在从 GDI32.dll(windowsapi) 挂钩 func ExtTextOutW,并从 str(unsigned char) 读取;
例如 abc123... 而 got:68 0 69 0 70 0 20 0 21 0...;
BOOL ExtTextOutW
(
HDC hdc,
INT x,
INT y,
UINT flags,
const RECT* lprect,
LPCWSTR str,
UINT count,
const INT* lpDx
)
当标志=0x10;
lpString 数组指的是从 GetCharacterPlacement 返回的数组,应该由 GDI 直接解析,因为不需要进一步的特定于语言的处理。字形索引仅适用于 TrueType 字体,但该标志可用于位图和矢量字体,以指示不需要进一步的语言处理,GDI 应直接处理字符串。请注意,所有字形索引都是 16 位值,即使字符串被假定为光栅字体的 8 位值数组。
对于 ExtTextOutW,字形索引保存到图元文件中。但是,要显示正确的字符,必须使用相同的字体播放图元文件。对于 ExtTextOutA,不保存字形索引。
'1'使用两个字节20和0; '2' 使用两个字节 21 和 0;
'a'使用两个字节68和0; 'b' 使用两个字节 69 和 0;
我正在从 GDI32.dll(windowsapi) 挂钩 func ExtTextOutW,并从 str(unsigned char) 读取; 例如 abc123... 而 got:68 0 69 0 70 0 20 0 21 0...;
BOOL ExtTextOutW
(
HDC hdc,
INT x,
INT y,
UINT flags,
const RECT* lprect,
LPCWSTR str,
UINT count,
const INT* lpDx
)
当标志=0x10;
lpString 数组指的是从 GetCharacterPlacement 返回的数组,应该由 GDI 直接解析,因为不需要进一步的特定于语言的处理。字形索引仅适用于 TrueType 字体,但该标志可用于位图和矢量字体,以指示不需要进一步的语言处理,GDI 应直接处理字符串。请注意,所有字形索引都是 16 位值,即使字符串被假定为光栅字体的 8 位值数组。 对于 ExtTextOutW,字形索引保存到图元文件中。但是,要显示正确的字符,必须使用相同的字体播放图元文件。对于 ExtTextOutA,不保存字形索引。