On Wed, 26 Nov 2014 11:23:17 +0100 Michael Schnell <mschn...@lumino.de> wrote:
>[...] > It seems to be unavoidable to use the name "ANSIString" even though I > always though up when seeing a thing called "ANSI" containing Unicode > (e. g. "UTF8String = type AnsiString(CP_UTF8)" ). Is there a question? > Seemingly here the "bytes per character" setting implicitly is thought > of as a port of the "code-page" definition. correct ? Code page define bytes per character. As you know: Don't confuse character with glyph and codepoint. Ansistring supports only one byte per character code pages. > In section "Dynamic code page": > > "When assigning a string to a plain AnsiString (= AnsiString(CP_ACP)) or > ShortString, the string data will however be converted to > DefaultSystemCodePage. The dynamic code page of that AnsiString(CP_ACP) > will then be the current value of DefaultSystemCodePage (e.g. 1250 for > the Windows-1250 code page), even though its static code page is CP_ACP > (which is a constant <> 1250). This is one example of how the static > code page can differ from the dynamic code page. Subsequent sections > will describe more such scenarios." > > 1) A short String does not have a Code page notification so for this > "static code page can differ from the dynamic code page" does not seem > to make much sense. What is a "Code page notification"? Do you mean "code page information"? IMO the phrase "The dynamic code page of that AnsiString" is clear, that it does *not* talk about ShortString. Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel