【问题标题】:C# Convert Hexadecimal to stringC# 将十六进制转换为字符串
【发布时间】:2014-06-09 02:18:09
【问题描述】:

我认为我有一个小问题,因为我在这方面混淆了我的术语。

我需要用垂直制表符 (char)11 或 (char)0x0b 在前面和 (char)28 或 (char)0x1c 结尾的字符串。

我的部分困惑是我不明白 11 和 0x0b 之间的区别是什么。我相信一个是ascii,一个是hex,但我不是很肯定。所以基本上我需要做

string response = (char)0x0b + "message" + (char)0x1c;

但这似乎不起作用。

【问题讨论】:

  • “这似乎不起作用”是什么意思?它不编译吗?它不会产生您期望的输出吗?
  • 我的意思是我将响应发送回服务器,但它不会将其识别为有效响应。

标签: c# string hex ascii


【解决方案1】:

我的部分困惑是我不明白 11 和 0x0b 之间的区别是什么。

没有区别。两者表示相同的数学数字 11,使用不同的基数表示(0x0B 基数为 16,11 基数为 10)。

C# 为垂直制表符提供了一个转义序列 - \v,因此您可以编写 '\v' 来代替 (char)0x0b0x1C 没有转义序列,但您可以使用十六进制转义序列来表达它,如\x1C

修改后的代码如下所示:

string response = '\v' + message + 'x1C';

我删除了 "message" 周围的双引号,假设它表示您的代码在返回响应之前准备好的字符串变量。

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 2018-06-06
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2022-07-22
    • 2013-02-07
    • 2017-08-12
    • 2017-02-23
    相关资源
    最近更新 更多