有人知道非ASCII编码吗?

问题描述 投票:1回答:1

'1'使用两个字节20和0;'2'使用两个字节21和0;

'a'使用两个字节68和0;'b'使用两个字节69和0;

我从GDI32.dll(windowsapi)钩住函数ExtTextOutW,并从str(unsigned char)中读取;例如abc123 ...,而却得到: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
 )
c encoding wchar-t lpcwstr
1个回答
2
投票

当标志= 0x10时;

lpString数组是指从GetCharacterPlacement返回的数组,应该由GDI直接解析,因为不需要进一步的特定于语言的处理。字形索引仅适用于TrueType字体,但该标志可用于位图和矢量字体,以指示不需要进一步的语言处理,并且GDI应该直接处理该字符串。请注意,即使假定字串是光栅字体的8位值数组,所有字形索引都是16位值。对于ExtTextOutW,字形索引保存到图元文件中。但是,要显示正确的字符,必须使用相同的字体来播放图元文件。对于ExtTextOutA,不保存字形索引。

© www.soinside.com 2019 - 2024. All rights reserved.