gpt4 book ai didi

delphi - TReader/TWriter 是否支持 unicode?

转载 作者:行者123 更新时间:2023-12-03 18:19:55 27 4
gpt4 key购买 nike

我目前正在花一些时间将我的网络单元转换为支持 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 - TReader/TWriter 是否支持 unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com