草庐IT

unicode_literals

全部标签

windows - 为什么 Windows 使用 ANSI 代码页而不是 UNICODE?

当我在cmd.exe窗口中运行命令chcp时,它表示Windows中使用的代码页。我认为Windows使用UNICODE字符集。所以,我的问题是:为什么Windows使用ANSI代码页而不是Unicode?Windows使用UTF-16还是UCS-2?我可以检查这个(通过命令或MSDN链接)吗?UTF-16或UCS-2只是一种编码?或者也是一个字符集?UTF-8、UTF-16、UTF-32等..它们的字符集大小是否不同?我很困惑。请有人定义它们。 最佳答案 历史原因和向后兼容性。Windows本身是一个基于Unicode的操作系统,

c++ - 如何在C/C++中输出unicode字符

这个问题在这里已经有了答案:OutputunicodestringsinWindowsconsoleapp(16个答案)关闭9年前。我在Windows控制台中输出unicode字符时遇到问题。我正在使用带有mingw32-g++编译器的WindowsXP和代码块12.11。使用C或C++在Windows控制台中输出unicode字符的正确方法是什么?这是我的C++代码:#include#includeusingnamespacestd;intmain(){cout提前致谢。:)

windows - fopen 使用 unicode 文件名

我必须使用一个接受文件名作为字符串的库(constchar*)。内部文件使用fopen打开。有没有办法让这个库接受unicode文件名?我可以使用WideCharToMultiByte吗?在将它们传递给库之前将unicode名称转换为utf?一个可能的(不受欢迎的)解决方案是更改库接口(interface)(char*->wchar_t*)并将fopen替换为特定于Windows的_wopen.另一种解决方案是使用创建文件的符号链接(symboliclink)并将其传递给库,但它仅限于NTFS卷。 最佳答案 最好的方法是重写库...

c - 哪些Windows版本不支持unicode API调用?

基于C的Win32API具有许多功能的双重版本,以支持Unicode(UTF-16)字符串和较旧的8位代码页字符串。该API还定义了通用函数和类型,以对这些函数和类型进行某种程度的抽象,并允许从同一代码库编译两个版本。Microsoft建议始终使用泛型(请参阅ConventionsforFunctionPrototypes),以便可以编译两个版本。但是我的问题是-我们讨论通过8位字符串API在此处支持哪些版本的Windows?如果是Windows95,我的优先级就不再高了:)。如果泛型仅用于支持极端遗留情况,则直接使用UTF-16调用似乎更容易,更清晰。 最

Python:从脚本中打开一个名为 xls 的 unicode 文件

如何从Windows下的Python脚本中打开一个名为unicode的文件(带有空格)?文件名例如:Helloעולם.xls对于非unicode非间隔xls文件,os.system(filename)效果很好。对于非unicode间隔的xls文件,os.system('"'+filename+'"')效果很好。但是对于一个unicode空格的xls文件...os.system(filename)和subprocess.call(new_filename)都给出:UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition

windows - 将原始指针转换为 16 位 Unicode 字符到 Rust 中的文件路径

我正在用一个用Rust编写的DLL替换一个用C++编写的DLL。目前DLL中的函数调用如下:BOOLcalledFunction(wchar_t*pFileName)我相信在这种情况下wchar_t是一个16位Unicode字符,所以我选择在我的RustDLL中公开以下函数:pubfncalledFunction(pFileName:*constu16)将原始指针转换为我实际可以用来从RustDLL打开文件的东西的最佳方法是什么? 最佳答案 下面是一些示例代码:usestd::ffi::OsString;usestd::os::wi

windows - WinAPI Unicode 和 ANSI 函数

大多数WinAPI调用都有Unicode和ANSI函数调用例如:functionMessageBoxA(hWnd:HWND;lpText,lpCaption:LPCSTR;uType:UINT):Integer;stdcall;externaluser32;functionMessageBoxW(hWnd:HWND;lpText,lpCaption:LPCWSTR;uType:UINT):Integer;stdcall;externaluser32;我什么时候应该使用ANSI函数而不是调用Unicode函数? 最佳答案 就像发布的评

windows - Autohotkey:发送 5 位十六进制 unicode 字符

我一直在尝试找到一种方法来重新映射我的键盘并发送5位十六进制unicode字符,此处描述的方法:ahkSend仅支持4位十六进制代码{U+nnnn},我知​​道在过去,autohotkey本身不支持unicode,因此需要一些功能才能做到这一点,也许这就是我的解决方案。例子:#IfGetKeyState("CapsLock","T")+u::Send{U+1D4B0}结果是풰而不是?,풰的代码是{U+D4B0},这意味着AHK只读取最后4位数字。即使我需要创建新功能来实现它,我该如何修复它?谢谢-标记 最佳答案 大于0xFFFF的U

Unicode 中的 Java System.out 输出

我目前正在开发一个基于Java的文本游戏,该游戏在命令行解释器中播放。问题是,我想在命令行中回显德语变音符号(行üöäß),默认情况下Windows系统不支持它。但是,我找到了一种通过一系列方法实现这一目标的方法:我将代码页更改为65001(使用chcp65001)我将字体更改为ConsoleLucida我使用带有UTF-8编码的PrintStream打印到命令行(在Java程序中)。这样做之后,在命令行输出UTF-8字符就可以了。但这并不是每台PC上的默认设置。所以我想,我创建一个批处理文件来启动游戏,它会进行基本设置以启用UTF-8输出。更改代码页并使用UTF-8PrintStre

windows - 将可能包含非 ASCII Unicode 字符的 PowerShell 输出解码为 Python 字符串

我需要将从Python调用的PowerShell标准输出解码为Python字符串。我的最终目标是以字符串列表的形式获取Windows上网络适配器的名称。我当前的函数如下所示,并且在Windows10上使用英语运行良好:defget_interfaces():ps=subprocess.Popen(['powershell','Get-NetAdapter','|','selectName','|','fl'],stdout=subprocess.PIPE)stdout,stdin=ps.communicate(timeout=10)interfaces=[]foriinstdout.s