草庐IT

unicode-string

全部标签

windows - 在 WM_KEYDOWN 中获取 Unicode 字符

在我需要以不同方式处理大量键的应用程序中,我想在WM_KEYDOWN中处理所有情况,而根本不使用WM_CHAR。是否可以从一系列WM_KEYDOWN提供的虚拟键中获取正确的ASCII/UNICODE字符,而不是依赖于更常规的TranslateMsg/WM_CHAR?举个例子:应用程序应该能够以完全不同的方式处理Shift-B,而不是按常规的B或CTRL-B。使用MapVirtualKey,您不会使用Shift、Control和Alt键的状态,或者至少我看不到。正如LeoDavidson回答的那样:您可以使用ToUnicode调用自己执行VK->Unicode转换。

regex - 如何 : Searching for a string in a file from the Windows command line?

有没有办法在目录及其子目录的文件中搜索字符串?字符串比较独特。我想返回字符串的名称,并希望返回字符串在文件中所在的行。Windows中是否内置了用于执行此操作的任何内容? 最佳答案 您正在寻找内置的findstrcommand./S选项执行递归搜索。 关于regex-如何:SearchingforastringinafilefromtheWindowscommandline?,我们在StackOverflow上找到一个类似的问题: https://stacko

c - 开始使用支持 UNICODE 的 WINAPI 编程

我开始使用WINAPI在C中开发应用程序。我希望我的应用程序支持UNICODE。Iamusingmingwwithgcccompiler.WhatshouldIdotomakemyappUNICODEsupport.Itshouldworkinallversionsofwindowsstartingfromxp.AndIwishmyapplicationtoworkinalllanguanges.能否请您提供一些关于这方面的指南以及该做和不该做的。 最佳答案 1)不幸的是,您的问题过于模糊,无法有效回答。2)此外,“支持Unicod

c++ - C 字符串和 std::string 之间的转换导致平台特定方式出现乱码

我今天正在处理一个特定于平台的错误,在这个错误中,在Windows机器上某个字符串会非常乱码,但在Mac上则不会。该错误与在std::string和constchar*之间进行显式和隐式转换的几行有关。基本上,我有一个带有签名的函数voidfoo(conststd::string&id);foo在某些时候打印字符串。在Windows上,如果像下面这样调用,它会打印带有不同程度损坏的id字符串(混淆前几个字符或整个字符串)std::stringmystring=bar();constchar*id=mystring.c_str();foo(id);//passtheCstylestrin

windows - Windows 控制台对 Unicode 有什么限制?

可以使用WriteConsoleW将Unicode字符写入Windows控制台功能。在我的Windows7机器上,控制台似乎不支持BasicMultilingualPlane之外的字符。此外,组合字符显示在基本字符之后,而不是实际组合。这些限制是否也存在于更高版本的Windows中?Windows控制台中的Unicode是否有其他限制? 最佳答案 我在myanswertoadifferentquestion中写了部分答案;这是一个完整披露的好地方。我的背景:我维护的可能是最广泛的consolefontwhichfullysuppor

c++ - 涉及 `std::string` 的编译导致 Windows 错误状态

最小的例子:#include#includeintmain(int/*argc*/,char*/*argv*/[]){HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//Behaviorthesame,withorwithout.DWORDerr=GetLastError();std::stringstr;return(int)err;//returns127ifflineaboveuncommented,0iffcommented}此程序返回127,对应于ERROR_PROC_NOT_FOUND(“找不到指定的过程。”)。请注意,err是在s

c++ - 在 Windows 中不使用 Unicode 有什么缺点?

在Windows上不使用Unicode有什么缺点?我所说的Unicode是指WCHAR和广泛的API函数。(CreateWindowW、MessageBoxW等)不使用它会遇到什么问题? 最佳答案 在处理系统API时,您的代码将无法正确处理当前所选代码页之外的字符1。典型问题包括将不受支持的字符转换为问号、无法处理包含特殊字符的文本,尤其是名称/路径中包含“奇怪字符”的文件。此外,几个较新的API仅出现在“宽”版本中。最后,每个涉及文本的API调用都会稍微慢一些,因为API的“A”版本通常只是“W”API的薄包装,即即时将参数转换为

windows - 如何更改 Windows Unicode 语言环境/语言的默认字体

当我从语言工具栏中选择一种语言时,Windows会自动将输入字体更改为带有该语言字符的字体。有没有办法将默认字体更改为其他字体?谢谢你的帮助 最佳答案 您可以更改默认的UI字体(这会影响所有内容)。如果默认UI字体支持您输入的字符,则会选择后备字体,并且您无法(正式)更改它。 关于windows-如何更改WindowsUnicode语言环境/语言的默认字体,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - 无法获取 Visual C++ 6.0 对话框编辑控件以接受 Unicode/无法获取 EDITTEXT 资源以接受 Unicode

我在Windows7中使用VisualC++6.0。我转到"file"->“新建”。我选择Win32应用程序并将其命名为HelloWorld。出现“Win32应用程序第1步,共1步”。我选择“典型的HelloWorld应用程序”。VC创建一个简单的HelloWorld应用程序。我选择文件HelloWorld.cpp。我将以下定义粘贴到HelloWorld.cpp文件的顶部:#defineUNICODE#define_UNICODE然后我双击HelloWorld.rc。我打开“对话框”项目。在它下面是IDD_ABOUTBOX。我双击它。然后我将一个EDITTEXT控件添加到对话窗口。我按

windows - 如何在 cmd.exe 默认情况下制作 Unicode 字符集?

Windows的cmd.exe默认安装的866字符集与光荣的Unicode相比很差而且不方便。我可以默认安装Unicode或将cmd.exe替换到另一个控制台并将其设置为默认值以便程序使用它而不是cmd.exe吗?我知道chcp65001仅在运行的控制台中更改编码。我想在系统级别更改字符集。 最佳答案 在我尝试了algirdas的解决方案后,我的Windows崩溃了(Win7Pro64位),所以我决定尝试不同的解决方案:开始运行(Win+R)输入cmd/Kchcp65001你会得到大部分你想要的。要从任务栏或其他任何地方启动它,创建