You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi转C#:代码中#32控制字符含义及相关问题咨询

关于Delphi中#32的含义及C#转换建议

在Delphi(以及所有Pascal衍生语言)里,#<数字>是表示字符的语法,数字对应ASCII码值。所以#32就是ASCII码为32的字符——也就是普通的空格字符,和你直接写' '的效果完全一致。

看你这段Delphi代码:

Data := '!RW 65 '+ Data +#32+ CRC_16('!RW 65 '+Data+#32) + #10

这里的#32作用很明确:作为字段分隔符,把命令段、原始数据、CRC校验值这几个部分用空格分开,同时计算CRC的时候也要把这个空格包含进去(因为CRC是基于完整的命令字符串计算的,分隔符也是有效部分)。

转换成C#的话,直接把#32替换成空格字符或者空格字符串就行,比如用字符串插值的写法会更简洁:

data = $"!RW 65 {data} {Crc16($"!RW 65 {data} ")}" + "\n";

(注:这里假设你已经实现了对应功能的Crc16方法,C#里的"\n"就对应Delphi的#10换行符)

内容的提问来源于stack exchange,提问作者FancyLord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:37:14