dur*_*ara 3 delphi unicode ansi chr delphi-xe3
我有自己的带加密功能的D6 pas库.今天我尝试在XE3下使用它,并且由于unicode我在其中发现了许多错误.我试图移植到AnsiString,但是我在chr(nnn)上失败了,这在Delphi6下是8位限制.
我试图解释这个问题:
Str := chr(hchar);
AStr := Str;
Run Code Online (Sandbox Code Playgroud)
Str - string; AStr - ansistring.
当hchar为216(diamater)时,AStr变为"O",Ascii 79是什么......此时我失去了原始值.
Ansi Chr有什么功能吗?例如:"AChr(xxxx)"
或者我需要更改我的代码以不在内部部分使用字符串,只有字节,然后将这些字节转换为AnsiString?
感谢您的任何建议,帮助,信息!
DD
你可以写AnsiChar(SomeOrdinalValue)
做一个AnsiChar
具有特定顺序.所以你的代码应该是:
AStr := AnsiChar(hchar);
Run Code Online (Sandbox Code Playgroud)
问题中的代码问题是您转换为UTF-16并返回.
在我看来,字符串是加密代码的错误类型.使用字节数组TBytes
.