gpt4 book ai didi

f# - 如何将整数值转换为字符,例如97 应打印为 'a'

转载 作者:行者123 更新时间:2023-12-02 15:15:46 27 4
gpt4 key购买 nike

我有一个表示字符数的整数值数组。我想将字符值打印为字母后跟计数

例如 0 数组成员作为字母 'a' 的计数等等。

最佳答案

从技术上讲,这个问题定义不足。 let f _ = 'a' 将是正确答案。我们需要知道所需的编码。但我认为可以安全地假设您正在谈论以下编码之一,其中填充了前导零位:

  • ASCII
  • UTF-8
  • UTF-16
  • 一些 8b 扩展 ASCII 变体

或者,如果您对 .NET 字符到底是什么有一个常见的误解,您可能指的是 UTF-32。但是不可能将 UTF-32 int 可以表示的所有字符都转换为单个 char。 char 类型实际上定义为 UTF-16 编码单元。

无论如何,如果我们忽略使用的空间量,所有这些都将 'a' 编码为 97。

这里有一些工具:

  • char将数字输入转换为 UTF-16,这是 .NET 中字符使用的内部编码。
  • 查看 System.Text namespaceSystem.Text.Encoding用于各种解码工具,包括读取 UTF-8。
  • ASCII 包含在 Unicode 代码点中,因此也可以通过上述方法进行转换 - 如果输入字符始终在 ASCII 中,即除了最低有效的 7 位之外的所有位都归零。
  • 对于过时的、依赖文化的 8 位编码,寻找合适的编码工具,与上述类似。尽管在这个时代使用它们是有问题的。
  • System.Char.ConvertFromUtf32从 UTF-32 获取最多包含两个字符的字符串。

关于f# - 如何将整数值转换为字符,例如97 应打印为 'a',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40719115/

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