问题标签 [widechar]
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.
python - 测试 wchar_t* 的可转换字符
我正在与一个将字符串作为 wchar_t 数组处理的库交谈。我需要将这些转换为 char 数组,以便我可以将它们交给 Python(使用 SWIG 和 Python 的 PyString_FromString 函数)。显然,并非所有宽字符都可以转换为字符。根据 wcstombs 的文档,我应该能够做类似的事情
测试字符串中的不可转换字符——如果有的话,它应该返回 -1。但是,在我的测试用例中,它总是返回-1。这是我的测试功能:
这是生成这样的输出:
知道我做错了什么吗?
在相关说明中,如果您知道直接从 wchar_t*s 转换为 Python unicode 字符串的方法,那将是受欢迎的。:) 谢谢!
c++ - 使用 API WideChartoMultibyte 将日文字符从宽字符转换为多字节给出 '????'
在我的 MFC 应用程序中,我正在从字符串表中读取日文字符,然后使用以下代码将其转换为多字节
但是每个日文字符都被转换成'????' 我试图将代码页从 1252 更改为 1200 但没有帮助。
delphi - Windows 7 上的 WideChar 显示问题
我正在开发一个小应用程序。带有(希腊字母)的标题(显示在标签上的文本WideChars
)在 Vista 和 Windows7 下几乎在所有情况下都是正确的,但在某些情况下(在某些计算机上)我只有空方块。语言是一样的,操作系统也是。什么会导致它?请帮助我如何解决这个问题。
c - 无法将宽字符分配给宽字符字段。
我得到了这个学校项目。我必须按捷克规则按字母顺序对项目列表进行排序。在深入挖掘之前,我决定在 16 x 16 矩阵上对其进行测试,所以我这样做了:
在另一个函数中,我试图分配一个字符。像这样:
一切安好。打印字符。但是当我尝试将其更改为
它说:宽字符常量中的无关字符被忽略。(Xcode) 并跳过打印部分。main.c 文件采用 UTF-8 格式。如果我尝试打印这个:
它按书面形式打印出来。我不确定是否应该使用 wint_t 或 wchar_t 分配内存,或者我是否做得对。我对两者都进行了测试,但它们都不起作用。
c - Widechar 从文件中排序和加载
当我需要从文件中加载行然后以正确的顺序对它们进行排序时,我目前正在尝试解决该问题。
如果我手动将字母分配给 wint_t 数组,然后对它们进行排序,那么一切都可以使用任何编码http://pastebin.com/85eycH15。
但是,如果我从文件中读取相同的字母,然后尝试对它们进行排序,它只适用于一种编码(cs_CZ.utf8),而其余的则不能正确读取字母,或者只是跳过它们http:// pastebin.com/3C8r9W5T。
我非常感谢任何帮助。
c - 如何在 64 位窗口中将 wchar_t 数组打印到文件中
我想将一些从某些 windows api 填充的 wchar_t 数组输出到用 fopen 打开的文件中:
但是, fputs 需要一个 const char* 数组。是否有其他一些 C api 可以写入需要宽数组字符的文件管道?
visual-c++ - MASM中的宽字符串文字?
你用
声明name
为 byte-string "Foo"
。
您如何将其声明为字符串?(即每个字符 16 位)
编辑:
我正在寻找一种在宏中运行良好的方法,例如:
c++ - 没有空间的宏
我有一个用于调试的宏。
我发现我需要在我的程序中使用宽字符,所以我想只更改我的宏并让一切正常:
但是,我需要宽字符串,这些字符串是通过L
在字符串的开头引号前面加上一个来定义的:
现在显然,上面的行不起作用。但如果我使用L message
,那也行不通。那么我该如何写作Lmessage
并让它做我想做的事呢?
bash - 在 bash 脚本中,如何获取字符串的显示宽度
我想要一个 bash 函数来计算显示时将使用的字符串宽度。因为在我的情况下,字符串可能包含一些宽字符(例如中文)。所以我不能只使用字符串的长度。
然后“abc”将返回 3,“前后”应返回 4 而不是 2。
c++ - #define 带有 L 标识符的语法
基本上,我如何获得相当于:
使用#define
?