gpt4 book ai didi

c - 在 Swift 和 C 中格式化字符串会产生不同的结果

转载 作者:搜寻专家 更新时间:2023-11-01 07:07:20 25 4
gpt4 key购买 nike

我有以下 C 程序:

#include <stdio.h>

int main(int argc, char *argv[argc])
{
printf("%c%c%c", 10, 56, 240);
return 0;
}

我将其翻译成 Swift 为

import Foundation

let interpolated = String(format: "%c%c%c", 10, 56, 240)
print("\(interpolated)", terminator: "")

但是,保存到文件中时,输出会有细微差别。 C 程序输出:

8\360

(3 个字节)

还有 Swift 程序

(4 个字节)

这是为什么?

最佳答案

Swift 的 Character 是 Unicode 字符,而不是字节。 240 被解释为代码点 U+00F0,即“拉丁小写字母 Eth”(“ð”)。在您打印 字符串后,此字符是UTF-8 编码的2 个字节C3 B0,由您的查看器程序显示为ð

关于c - 在 Swift 和 C 中格式化字符串会产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47248346/

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