在 Pharo 1.4 中,我在一个文本文件上打开了一个 FileSystemReadStream,并通过aFileSystemReadStream contents asString
.
我的文本文件是 UTF8 编码的,并且有那些 Windows (CR LF) 换行符。
生成的 Pharo 字符串每个文本文件行有两个换行符和一些奇怪的字符,而不是像 Ä、Ö、Ü 等德语变音符号。
如何正确解码 Pharo 中的文本文件?
在 Pharo 1.4 中,我在一个文本文件上打开了一个 FileSystemReadStream,并通过aFileSystemReadStream contents asString
.
我的文本文件是 UTF8 编码的,并且有那些 Windows (CR LF) 换行符。
生成的 Pharo 字符串每个文本文件行有两个换行符和一些奇怪的字符,而不是像 Ä、Ö、Ü 等德语变音符号。
如何正确解码 Pharo 中的文本文件?
不要在 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.