使用D2009 +进行OEM到ansi的转换

时间:2010-09-17 13:06:24

标签: delphi

对于Unicode版专家:

是否可以定义反映当前OEM编码的ansistring类型?

(假设没有代码页标识符的ansistring反映了ansi代码页)

这是半个笑话问题,有一半是严重的:

它会将我的CRT单元端口大大简化为Unicode(使其更好并键入)

1 个答案:

答案 0 :(得分:7)

您似乎应该可以使用CP_OEMCP,因为您可以使用CP_ACP来获取Ansi代码页。

type
  OemString = type AnsiString(CP_OEMCP);

如果这不起作用,则将您的变量声明为RawByteString。用它需要的数据填充它,一旦你发现当前的OEM代码页是什么(GetOEMCP),使用SetCodePage将该代码页分配给字符串(此时它赢了'尽管声明了类型,但恰好是RawByteString