6

Pharo 1.4では、テキストファイルでFileSystemReadStreamを開き、を介して文字列に変換しましたaFileSystemReadStream contents asString

私のテキストファイルはUTF8でエンコードされており、Windows(CR LF)の改行があります。

結果のファロ文字列には、テキストファイル行ごとに2つの改行があり、Ä、Ö、Üなどのドイツ語のウムラウトの代わりにいくつかの奇妙な文字があります。

Pharoでテキストファイルを正しくデコードするにはどうすればよいですか?

4

1 に答える 1

9

1.4ではFileSystemReadStreamsを使用しないでください。完全ではなく、バグがあります;)。代わりにFileStreamを使用してください。

multiByteFileStream := FileStream fileNamed: '/foo/bar.txt'.
multiByteFileStream contents.

MultiByteFileStream行末の規則とエンコーディングを設定できる場所が返されます。

multiByteFileStream 
    "possible values are: #cr #lf #crlf"
    lineEndConvention: #cr;
    "set a specific converter, see subclasses of TextConverter"
    converter: UTF8TextConverter new. 
于 2012-07-31T12:04:48.160 に答える