有什么方法可以将字符串文字u8与变量一起使用吗

Any way to use string literal u8 with a variable?

本文关键字:变量 一起 u8 文字 方法 什么 字符串      更新时间:2023-10-16

有没有办法将u8文字与变量一起使用?

const char* name[32];
(u8)name//something like this

我需要将名称转换为utf-8,但我不知道如何转换。

不,不能将u8与变量一起使用。它只适用于编译时的字符串文字,而不适用于运行时的数据。

你在评论中说你正在从其他进程中读取数据。您必须知道该数据的确切编码,然后才能将其转换为任何有意义的内容。它已经是UTF-8了吗?还是在KOI8-R中?ISO-8859-5?别猜!

您可以尝试对数据执行已知的色调,以尝试动态检测编码(有第三方库可用于此目的),但这仍然是一种猜测形式(尽管有一定的教育性猜测),因此可能会产生误导性结果。

如果你找不到编码,那么你就无法安全地将其转换为UTF-8(或者其他任何东西)。