Free Pascal docs狀態RawByteString
類型是在Free Pascal中定義的,但我無法找到位置。不要指望它在System
單元中定義的,像德爾福,但是當我編譯(使用FPC 2.6.2,{$模式德爾福})函數聲明FreeByteString類型在Free Pascal
class function FromAnsi(const S: RawByteString): ByteArray; static;
我得到的編譯器錯誤
Error: Identifier not found "RawByteString"
想我可以宣佈自己類型:
type
RawByteString = type AnsiString(CP_NONE);
,但我想找到「本地」 FPC聲明。
感謝您的快速回答。由於我不需要支持FPC 1.x,我需要的解決方法是:
{$IFDEF FPC}
{$IF FPC_VERSION = 2}
{$IF FPC_RELEASE <= 6}
type
RawByteString = AnsiString;
{$IFEND}
{$IFEND}
{$ENDIF}
我不知道'RawByteString',但'UnicodeString'已經在FPC中可用了,因爲至少2.4.0,FPC有'unicodestrings'和'delphiunicode'模式,並且'FPC_UNICODESTRINGS'定義了要控制/檢測'string'是否映射到'AnsiString'或'UnicodeString'。 – 2014-09-10 16:36:36
@RemyLebeau:對於「新字符串類型」,我指的是帶有動態編碼的字符串,與帶有靜態編碼的「UnicodeString/WideString/AnsiString」...(儘管有人可能已經認爲「AnsiString」是一種新的字符串類型,到'shortstring') – BeniBela 2014-09-10 19:27:28