gpt4 book ai didi

c++ - 如何验证 UTF-8 编码的 std::string

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:26 32 4
gpt4 key购买 nike

我们在验证包含有效 UTF_8 字符集的 std::string 时遇到问题。这问题是我在程序中有一个 std::string,它在运行时可能会收到一些无效的 UTF-8 字符。目前我指的是 glib/utf8-validate.c 文件以供引用。但是 glib 使用的数据类型不是 std::string,所以我不能使用它。

平台是QNX(Linux主机开发)。

最佳答案

首先,您应该始终在问题中包含 QNX 的版本,因为例如 6.3.2 (Neutrino) 的 gcc 版本是 3.7。

第二次使用const char* c_str() const;对于 c 函数。

#include <stdio.h>
#include <dbus/dbus.h>
#include <string>
#include <iostream>

int main(void)
{
std::string test = "test";

std::cout << dbus_validate_utf8(test.c_str(), 0) << std::endl;
return 0;
}

但这可能有助于代替使用 dbus_validate_utf8 吗?:

How to detect UTF-8 in plain C?

甚至这样:

http://utfcpp.sourceforge.net/

关于c++ - 如何验证 UTF-8 编码的 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18072573/

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