- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在花一些时间将我的网络单元转换为支持 unicode 字符串,目前一切进展顺利(至少我是这么认为的)。不幸的是,我正在使用 Delphi 7,所以我无法测试实际的 unicode 支持,而且我没有更新的 Delphi 版本的文档。
我在代码中使用了一些 TReader 和 TWriter 对象,通过 ReadString 和 WriteString 方法流式传输字符串。在 D7 上,他们使用等于 AnsiString 的字符串类型。如果我没理解错的话,在 D2009/D2010 中,String 类型等于 UnicodeString。那么有谁知道在 D2009/D2010 中使用 ReadString 和 WriteString 方法时 TReader 和 TWriter 是否自动流式传输 UnicodeString 格式的字符串,或者我是否需要更改某些内容?
最佳答案
是的。 TReader 和 TWriter 支持 Unicde。事实上,只有一部分 vcl/rtl 不支持 Unicode:老式的 Read(Ln) 和 Write(Ln) 文件访问方法,它们也用于直接从控制台读取和写入控制台。
是的,字符串在 D2009+ 中是 UnicodeString。而PChar在D2009+就是PWideChar。因此,如果您坚持使用标准类型,您的代码将移植良好。
只有当您的代码基于一个字符等于一个字节的假设时,您才会遇到麻烦。
更新:
白皮书 Delphi 和 Unicode,作者 Marco Cantu:http://edn.embarcadero.com/article/38980
Migrating Legacy Apps to Unicode-enabled Delphi 2010,作者:Cary Jensen:http://edn.embarcadero.com/article/40472
新白皮书:Delphi Unicode Migration for Mere Mortals,作者:Cary Jensen:http://edn.embarcadero.com/article/40307
关于delphi - TReader/TWriter 是否支持 unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197489/
下面的代码会抛出一个 EZDecompressionError 消息 'Invalid ZStream operation' 每当行 Reader.Free 被执行。有人可以告诉我这段代码有什么问题吗
我目前正在花一些时间将我的网络单元转换为支持 unicode 字符串,目前一切进展顺利(至少我是这么认为的)。不幸的是,我正在使用 Delphi 7,所以我无法测试实际的 unicode 支持,而且我
我是一名优秀的程序员,十分优秀!