问题标签 [widestring]

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.

0 投票
0 回答
58 浏览

c++ - 如何将宽字符串前缀添加到 C 样式字符串(在 C++ 中)?

如何将宽字符串前缀添加到 C 样式字符串(在 C++ 中)?

我已经看到L添加到文字:

L"Hello";

但鉴于:

const char cs[] = "Hello";

既不L(cs);也不(L)cs;工作。正确的表达方式是什么?

0 投票
1 回答
130 浏览

visual-c++ - 带有宽/unicode流的千位分隔符

可能是最好的描述方式,我想实现的是结合以下线程的解决方案: Windows Unicode C++ Stream Output Failure (but with utf-16)

如何打印带有空格作为千​​位分隔符的数字?(但用点作为分隔符)

以下解决方案尝试对输出没有影响:

另外,由于 MVS/windows 已经将 UTF16 用于宽字符串,我想知道为什么完全需要转换为 utf16。在我看来,这是对 CPU 资源的浪费。没有额外的不必要的转换就不可能写文件吗?以二进制模式编写是可能的,但有点愚蠢,因为它会丧失输出流提供的所有便利

编辑:忘了提到我使用 MVS 2013 和英特尔编译器

0 投票
0 回答
536 浏览

sql-server - 在 SQL Server 数据库中存储生物特征模板

我有一个系统,我通过仓鼠捕获用户的生物特征并在 a 中获取生物特征模板WideString,我的问题是在数据库中的字符串的记录和检索中,必须缺少字符串的某些部分,看看保存和检索生物识别模板的代码:

保存:

我通过变量获得了生物识别阅读器的字符串模板_Template

之后,获取数据库的值

返回模板后没有与生物识别模板匹配,这是在某些转换中失去了一些价值?我是初学者编程WideString数据和TMemoryStream类,SQL Server 数据库中的列类型为Image.

谢谢你,

0 投票
2 回答
6617 浏览

string - 从 TOpenDialog 将 Delphi 中的文件路径作为字符串传递

我正在尝试使用 TOpenDialog 将所选文件的路径传递给 AdoConection 并将 Excel 文件的内容加载到表中。我目前正在尝试下面的代码,但代码的最后一部分没有连接到 Excel,返回错误: [dcc32 Error] sample_map.pas(80): E2010 Incompatible types: 'string' and 'TOpenDialog'

0 投票
1 回答
1439 浏览

c++ - 如何在 Linux 上将原始 MBCS 字符串(SHIFT-JIS)从 Windows 转换为 UTF-8

我正在 Linux 上编写一个必须与现有 Windows 程序交互的程序。我无法修改 windows 程序的工作方式,但我必须与现有数据集成。该程序将通过 TCP 网络套接字接收原始数据结构。不幸的是,windows 程序在数据结构中嵌入了原始的多字节字符串,并且不指示正在使用哪个代码页。这适用于英语,但对于基于非拉丁语的语言(即:日语)则失败了。充其量,我可以猜测窗口正在使用的代码页。如果我正在运行并且我的语言环境设置为“ja”或“ja_JP”,我将不得不假设 Windows 机器正在使用“SHIFT-JS”代码页......丑陋,但这就是生活。

问题:

假设我在代码页上猜对了,如何将这些原始 MBCS 字符串转换为 UTF-8 字符串?

以下是原始数据的示例:

发送的字符串是:私のクラスへようこそ

从 windows (JP) 接收到的 MBCS 数据是(以字节为单位,添加了额外的“0x00”以确保空终止):

据我所知,该字符串来自使用 SHIFT-JS 代码页的 Windows 机器。我试过 mbsrtowcs():

对 mbsrtowcs() 的调用在位置“0”处失败,没有转换任何字符。

然后我使用 SHIFT-JS 代码页尝试了 iconv 库:

Iconv segfaults (coredumps) 使用给定的(日语)字符串。只使用了几次 iconv,我相信代码片段(从在线示例复制)是正确的,并且似乎可以使用类似的设置但不同(即:德语/法语)来自 Windows 服务器的 mbcs 字符串与基于拉丁语的语言一起使用.

即使使用 -std=c++11 编译,codecvt 函数 std::wstring_convert 似乎还没有在 linux 中实现,所以这似乎不是一个选项。

提前感谢您提供的任何帮助。

- 编辑 -

在“myk”的帮助下,我创建了一个示例应用程序,可以更好地显示我的问题。根据他的建议,我能够绕过分段错误,但是无论我选择何种语言环境,Windows MBCS 字符串都无法转换。

注意:这可以使用以下命令在 Linux/Mac 上编译和运行:

0 投票
2 回答
2955 浏览

c++ - Boost 库,使用 std::wstring 作为文件名和 boost::property_tree::read_xml

我最近开始使用std::wstring而不是std::string避免非 ASCII 字符的奇怪结果,并且我没有找到一种方法来读取std::wstring使用 boost 库的路径类型为类型的 XML 文件。

我现在很安静地使用boost库。

我使用该boost::property_tree::read_xml函数boost::property_tree::wptree而不是通常的 ptree 结构。但遗憾的是,我无法将 astd::wstring作为第一个参数提供给 read_xml,这使得这一切变得更加困难。

我的问题是,是否有任何解决方法可以读取路径存储为的 XML 文件std::wstring

提前致谢!

0 投票
1 回答
94 浏览

string - 类型库 WideString 到 String

我有一个用 C# 构建的 dll,我通过类型库使用 Delphi XE2 使用它。工作正常,但我有一个返回 WideString 的函数,应该返回一个带有特殊字符的名称,如“çãé”(我来自巴西),但结果是“???”。

我该如何正确处理?

0 投票
2 回答
1112 浏览

perl - 错误 - Perl 执行失败。syswrite 中的宽字符

我有一个perl script运行一堆命令重定向stdinstderr一个文本文件。脚本完成后,我使用 cgi 将文件的内容显示到调用它的网页上。

写入文件的至少一行包含宽字符,例如:

保存到:“rabbitmq-server-3.3.5-1.noarch.rpm”

我尝试在输出到网页时对文件进行 html 转义,但无济于事:

我也尝试过更改我在谷歌中找到的 CGI 参数,但它也没有用。

关于我需要做些什么来完成这项工作的任何想法?

0 投票
2 回答
849 浏览

c++ - 在 C++Builder 中使用 swprintf 打印窄字符串

以下几行都“按预期工作”:

有没有办法打印一个窄字符串,这方面的文档在哪里?例如


C++ 标准指定(通过引用 C 标准)在wprintf函数族中%s指定一个字符串char(在多字节编码中,例如 UTF-8),并%ls指定一个wchar_t.

所以 RTL(C++Builder 提供的运行时库实现)在这里显然不符合标准。

背景:我实际上正在尝试使用UnicodeString::sprintf,但是将繁重的工作委托给vswprintf.

0 投票
1 回答
244 浏览

c++ - Why buffer is getting garbage value?

This code from my project. I am not able to understand from where buffer is getting this (潓敭慮敭(10):) garbage value after using with swprintf_s.

I am using Visual Studio 2015 Preview.