草庐IT

windows - 在 Windows 7 64 位上运行 16 位命令行应用程序

我有16位命令行工具,我想在Windows7x64上运行我不想使用虚拟机16位工具能否以某种方式包装?也许是16位CMD.exe模拟器 最佳答案 http://takeda-toshiya.my.coocan.jp/msdos/这可能对您有所帮助。(日文网站) 关于windows-在Windows764位上运行16位命令行应用程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4

c++ - Windows UTF8 到 UTF16

我一直在尝试使用C++使用BOM在UTF8和UTF16LE之间进行转换,以使字符在Windows上正确输出,而无需更改终端的字体。我尝试更改代码页,但没有用。我有两个问题,如何将普通字符串转换为宽字符串?创建一个将每个unicode字符映射到Windows代码页中的字符的C++映射是个坏主意吗?例如,wcout当使用代码页850时,此代码在Windows上输出字母á。如何用变量代替"\u00A0"以转换普通字符串到Windows上的宽字符?我想要的是:wcout我意识到它不是有效的c++语法,但有人知道我该怎么做吗?或者有没有更好的方法? 最佳答案

c++ - wchar_t 和 char16_t 在 Windows 上是一样的吗?

我有一个std::u16string的实例,我可以将它的c_str()传递给需要LPCWSTR的Win32API,而无需任何类型的转换?例如,我可以安全地这样做吗:autou16s=std::u16string(u"Hello");::SetWindowTextW(hWnd,reinterpret_cast(u16s.c_str()));已更新,MSDN说herewchar_t是UTF-16LE,而char16_t只是没有指定字节序的UTF-16。那么可以安全地假设char16_t在Windows上也始终是UTF-16LE吗?或者那是特定于MSVC编译器的,因此如果我使用GCC编译,它

c++ - 将 C 字符串从本地编码转换为 UTF8

我正在编写一个小应用程序,我在其中从控制台读取一些文本,然后将其存储在经典的char*字符串中。碰巧我需要将它传递给一个只接受UTF-8编码字符串的库。由于Windows控制台使用本地编码,我需要从本地编码转换为UTF-8。如果我没记错的话,我可以使用MultiByteToWideChar(..)编码为UTF-16,然后使用WideCharToMultiByte(..)转换为UTF-8。但是我想知道是否有一种方法可以在不使用任何外部库的情况下直接从本地编码转换为UTF-8,因为转换为wchar的想法只是为了能够转换回char(utf-8编码但仍然)对我来说有点奇怪。

c++ - 在将 ASCII 字符串传递给 Windows API 函数之前将它们转换为 UTF-16

在我当前的项目中,我一直在使用宽字符(utf16)。但是由于用户的唯一输入将是一个url,无论如何它都必须以ascii和另一个字符串结束,所以我正在考虑将整个程序切换为ascii。我的问题是,在将字符串传递给WindowsAPI函数之前将它们转换为utf16有什么好处吗?在网上做了一些研究后,如果您不在Windows上使用UTF-16,似乎很多人都推荐这个。 最佳答案 在WindowsAPI中,如果你调用像这样的函数intSomeFunctionA(constchar*);然后它会自动将字符串转换为UTF-16并调用函数的真实、Un

c++ - Windows 游戏 : UTF-8, UTF-16、DirectX 和 Lua

我正在为学习目的开发一个Windows游戏(我正在学习DirectX)。我希望它有UTF支持。Readingthisquestion我了解到windows使用的是wchar_t,也就是UTF-16。我希望我的游戏支持Lua脚本,并且Luadoesn'treallylikeUnicodemuch..它只是将字符串视为“字节流”;这对于UTF-8来说已经足够好了,但是UTF-16几乎不可能使用。长话短说:windows需要UTF-16,lua需要UTF-8。所以我想,让我们只使用带有普通char*和string的UTF-8!.length()会被搞砸,但谁在乎呢?但是它不起作用:const

c++ - GetFileAttributesA 为现有目录返回 "17"。 "16"表示它是一个目录,文档中没有提到 "17"

Windows764位,用mingw编译。我正在尝试使用Windowsheader中的GetFileAttributesA来测试给定路径是否是目录。作为目录的常量是16。但出于某种原因,它返回17。我的代码如下所示:#include#includevoiddir_exists(std::stringdir_path){DWORDf_attrib=GetFileAttributesA(dir_path.c_str());std::cout当我运行它时,输出是:Current:17Wanted:16电流应该返回16,在这里。正如我在主题中所说,我什至在文档中找不到任何提及17的含义。

c++ - 将 UTF-16 转换为 UTF-8

我目前使用的是VC++2008MFC。由于PostgreSQL不支持UTF-16(Windows为Unicode使用的编码),我需要在存储之前将字符串从UTF-16转换为UTF-8。这是我的代码片段。//demo.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"demo.h"#include"Utils.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#endif//TheoneandonlyapplicationobjectCWinAppthe

python - Python 2.7 中平台特定的 Unicode 语义

Ubuntu11.10:$pythonPython2.7.2+(default,Oct42011,20:03:08)[GCC4.6.1]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>x=u'\U0001f44d'>>>len(x)1>>>ord(x[0])128077Windows7:Python2.7.2(default,Jun122011,15:08:59)[MSCv.150032bit(Intel)]onwin32Type"help","copyright","credits"or

java - 使用 Charset.forName for UTF-7 在 Linux 和 Windows 上获得不同的结果

代码:importjava.nio.charset.Charset;publicstaticCharsetlookup(finalStringname){if(name==null){returnnull;}try{Charsetcharset=Charset.forName(name);if(charset!=null){Charsetsuperset=map.get(charset);if(superset!=null){charset=superset;}}returncharset;}catch(IllegalCharsetNameExceptionex){log.warn("