问题标签 [boost-locale]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Boost locale normalize 去除字符但没有重音符号
我正在尝试使用 boost 本地库从字符串中去除重音符号。
normalize 函数删除带有重音的整个字符,我只想删除重音。
è -> e 例如
这是我的代码
期望的输出:十一
我的输出:lve
请帮忙
c++ - 有没有办法在 C++ 中检测汉字?(使用升压)
在一个数据处理项目中,我需要检测中文中的拆分词(中文中的词不包含空格)。有没有办法使用原生 c++ 功能或 boost.locale 库来检测中文字符?
c++ - 如何为 Boost.Locale 中的数字指定自定义小数分隔符?
我已经多次阅读 Boost.Locale 文档,但仍然找不到这个看似简单的问题的答案:我需要使用特定的语言环境(例如 ru_RU)输出,但使用自定义的小数分隔符(例如点代替逗号)。这可能吗?
对于日期,有允许指定自定义日期时间格式字符串的“ftime”操纵器。但是数字有类似的东西吗?
谢谢!
boost-locale - 在 Visual Studio 2019 下为调试模型编译时,哪些错误配置可能导致 Boost Filesystem 因访问冲突而失败?
我很难理解为什么我的一些使用 boost 的代码在 Visual Studio 2017 下运行良好,现在却在 Visual Studio 2019 下导致访问冲突。但是,我只在 Debug 构建下遇到此故障。发布构建工作正常,没有问题。
我在构建、环境或代码中设置不正确会导致这样的失败吗?
我的环境:
- 视窗 10
- Boost 1.74(动态链接)
- Visual Studio 2019 v16.7.6
- 为 C++ x64 编译
我的代码的失败行是这样的:
boost::filesystem::path dir = (boost::filesystem::temp_directory_path() / boost::filesystem::unique_path("%%%%-%%%%-%%%%-%%%%"));
Boost 文件系统中的失败行是这里boost/filesystem/path.hpp
:
Visual Studio 上报的失败信息如下:
调用堆栈如下所示:
我在整个代码中使用 UTF-8 字符串,因此我将 boost::filesystem 配置为期望 UTF-8 字符串,如下所示:
boost::nowide::nowide_filesystem();
c++ - boost locale 是否支持 UTF-8 作为基于 char* 的字符串和流的内部编码
在内部,我可以使用 char 或 wchar_t 对我的字符串和流进行应用程序内部编码。char* 可以保存单字节编码数据或多字节编码数据。例如 ascii 和 UTF-8。我可以使用 char8_t、char16_t 或 char32_t 来阐明内部编码。但是 boost locale 还不能正确支持这些字符类型。假设 boost locale 在使用std::basic_string<char>
and and and std::basic_fstream<char>
and others 时使用 utf-8 作为内部编码是否可以节省?
例子:
c++ - 尝试读取 json 文件时编码不切换
我有一个file.json
编码为 KOI8-R 的 json 文件。
Boost Json 仅适用于 UTF-8 编码,因此我将文件从 KOI8-R 转换为 UTF-8:
但是,无法读取文件..我做错了什么?
更新:
我制作了一个 JSON 文件“test.txt”:
并将其保存在 koi8-r 中。
我有一个代码:
编译,运行并得到以下错误:
然后我使用 boost 语言环境:
编译(g++ main.cpp -lboost_locale
),运行并得到以下错误:
boost - 启用多字节字符集的 MFC 应用程序能否支持 UTF-8 编码字符串?
我有一个启用了多字节字符集的旧版 MFC 应用程序。现在的要求是也支持 UTF-8 字符集。在 Unicode 环境中更改整个应用程序是一项艰巨且冒险的任务。
我找到了支持 UTF-8 转换的 Boost.Locale 库。所以我的问题是,它可以与我现有的多字节设置一起使用吗?或任何其他方式来做到这一点,而无需将整个应用程序转换为 Unicode。因为它使用了很多我不想接触的遗留 Windows API。我的简单要求是很少有函数/方法可以生成和解析 UTF-8 字符。
c++ - 开始使用 Boost Locale 的翻译
这可能是一个简单的问题,但我一直在努力解决这个问题,这就是为什么我希望你们中的一个可以帮助我。
我正在尝试让 Boost 语言环境的功能发挥translate
作用。参考此示例代码:
假设我想翻译成德语。我必须像过去
"de"
一样locale::global(gen("de"));
吗?我读了一些
*.po
和*.mo
文件。有人可以解释一下这一切是如何工作的吗?
提前致谢。
c++ - 标准 C++ 函数和语言环境之间有什么关系?
以下标准 C++ 函数和语言环境之间的关系是什么
直到现在,每当我使用这些标准功能时,我从来没有想过任何关于语言环境的事情,所以我为什么要为语言环境而烦恼呢?
在阅读stackoverflow时我遇到了这个
在 Linux 上一切正常,因为每个人都使用基于 UTF-8 的语言环境,因此所有传递给主函数的用户输入和参数都将采用 UTF-8 编码。但是您可能仍需要将当前语言环境显式切换为 UTF-8 变体,因为默认情况下 C++ 程序开始使用默认
"C"
语言环境。*
上面这段话到底想表达什么?根据上述段落,Windows 和 linux 有什么问题?
任何人都可以用简单的话解释一下,最好用一个例子吗?