Jonas Maebe schrieb:
On 26/11/14 21:25, Hans-Peter Diettrich wrote:

What about file I/O?
It should be possible to read (and write) files of either endianness.

Standard I/O only supports single byte code pages (which should be
documented).

Please clarify "single byte code pages".

SBCS are a subset of the ANSI/ISO codepages, with the complement being MBCS.

Did you mean that basic I/O is implemented for AnsiString (byte based) only, not for UnicodeString (word based)?

Reading a unicodestring from a text file converts from the
single byte code page to the native-endianess UTF-16 format.

Is this different from assigning an AnsiString to an UnicodeString?

While it certainly is a stupid (Microsoft) idea to use UTF-16 for file storage, we'll have to take that into account.

Just with file I/O it makes sense to allow for *all* encodings (see BOM), including UTF-16. The file encoding must be independent from the string type and encoding, used to hold the file data in memory. See Delphi TEncoding, for use with streams (TStreamReader/Writer) and TStrings.

DoDi

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to