草庐IT

utf-16le

全部标签

windows - 16 位程序是否在 32 位操作系统上以虚拟 8086 模式运行?

我想确认几件事。我正在为8086编写汇编语言程序。我正在使用masm611汇编器进行组装。如果我在32位窗口的命令提示符下运行和调试808616位实模式程序,它是否使用和修改实际的cpu寄存器和内存?windows32bit下程序运行在virtualmode86吗?此外,如果我使用PWBMicrosoftProgrammers’Workbench中的CodeView调试器调试程序,如下所示:PWB请确认CodeView调试器中的寄存器和内存值是否是硬件中的实际值并且正在变化。此外,当我在PWB中运行程序时,它使用32位Windows下的实际硬件。 最佳答案

c# - OpenFileDialog 文件名为 UTF8

C#问题在这里..我有一个UTF-8字符串,由C++中的非Unicode程序解释。该文本显示不正确,但据我所知,它是完整的,然后被用作输出文件名。.无论如何,在C#项目中,我正在尝试使用System.Windows.Forms.OpenFileDialog对象打开此文件。我从这个对象的.FileNames[]获得的文件名是Unicode(UCS-2)。然而,这个字符串被误解了。例如,如果原始字符串是0xe30x810x82,则FileName[].ToCharArray()显示它现在是0x00e30x00810x201a......OpenFileDialog对象似乎只是填充了它,但它

c++ - 图像从 24 bpp 格式转换为 16 bpp 格式

我有一张图像,即使用WindowsGDI调用(24bpp)绘制的图像,我需要将此图像转换为16bpp。这是在WindowsMobile上。24bpp-RGB(rrrrrrrrggggggggbbbbbbbb)16bpp-RGB(rrrrrggggggbbbbb)为此我使用下面的代码for(intx=0;x>3|(*iPixel&0x001F0000)>>5;}代码工作正常,但性能不是很好,因为我是逐像素修改的。您能否就此转换提出任何可能的改进建议?提前致谢 最佳答案 您的代码不完整;您不显示指针的类型或如何递增它们。您对每个像素执行

c# - 将文本文件的编码从 ANSI 更改为 UTF8,而不影响 C# 中文件的任何字符!

谁能帮帮我?我尝试了很多不同的方法,但我没有运气得到想要的结果。我只想将现有文本[.txt]文件的编码从ANSI更改为UTF8,其中包含ö、ü等字符。当我通过在编辑模式下打开该文本文件然后FILE=>SAVEAS手动执行此操作时,它在编码列表中显示ANSI。使用它,我能够将其编码从ANSI更改为UTF8,并且在这种情况下它不会更改任何内容/字符。但是当使用CODE执行时,它不起作用。==>第一种方法我曾经通过下面的代码来实现:if(!System.IO.Directory.Exists(System.Windows.Forms.Application.StartupPath+"\\Te

c++ - 如何使用 C++ 在 Windows 上写入和读取 UTF 16 文件

SO上有很多关于此的问题,但大多数都没有提到将wstring写回文件。例如,我发现这个是为了阅读://openasabytestreamstd::wifstreamfin("/testutf16.txt",std::ios::binary);//applyBOM-sensitiveUTF-16facetfin.imbue(std::locale(fin.getloc(),newstd::codecvt_utf16));//readstd::wstringws;for(wchar_tc;fin.get(c);){std::cout我尝试过类似的写作方式:std::wofstreamwof

c++ - 在 C++ 中将 UTF8 字符串转换为 UTF16 字符串

我正在使用VC6.0。我的项目是用Unicode编译的。我正在使用zlib1.1.3来扩充包含我的UTF-8字符串的文件。我以ASCII格式获取它,但我保证它全部是英文的,因此我可以将其作为UTF8字符串关联(可以吗?)。我已经使用了Codeproject中建议的函数如下:WCHAR*SMUUTF8toUTF16(LPCSTRutf8,int*pLen){WCHAR*ptr=NULL;*pLen=MultiByteToWideChar(CP_UTF8,0,utf8,-1,NULL,0);if(*pLen>1){ptr=(WCHAR*)malloc(*pLen);if(ptr){Mult

python - 在 Windows 记事本的 Python 中创建 UTF-16 换行符

在Ubuntu中运行的Python2.7中,此代码:f=open("testfile.txt","w")f.write("Lineone".encode("utf-16"))f.write(u"\r\n".encode("utf-16"))f.write("Linetwo".encode("utf-16"))在Gedit中阅读时在两行文本之间生成所需的换行符:LineoneLinetwo但是,在Windows7中执行并在记事本中读取的相同代码会在“第一行”后产生无法理解的字符,但记事本无法识别换行符。如何在Windows中为UTF-16编写正确的换行符以匹配我在Ubuntu中获得的

windows - 为什么较新的 Windows 版本仍支持某些旧的 Win16 API?

我最近在MoleBox打包的可执行文件上修复了一些IAT,发现它链接了kernel32函数:'_lopen'、'_lwrite'和'_lread'。这site声明提供这些API是为了与16位版本的Windows兼容。我不知道“Win16”应用程序不能在长模式下执行(是的-我正在运行Win8.1x64)-那么那些仍然包含在“kernel32.dll”中的目的是什么?顺便说一下,这些函数甚至没有包含在“msdn”库中。编辑:看起来这些函数实际上并不是16位的!他们在堆栈上获取32位参数。 最佳答案 并不是说函数可以被16位应用程序调用。

c - 如何区分16位MZ和32位MZ

我需要区分32位PE和16位DOSMZ。正确的做法是什么?我可以使用启发式方法,例如查找PEheader,但我觉得它不一定是确定性的 最佳答案 所有DOS风格的可执行文件都有一个“MZ”作为前两个字节。要识别MSDOS可执行文件与众多其他变体,最好的办法似乎是读取文件中偏移量0x0018处重定位表的位置,如果它大于0x0040(进入文件),则它不仅仅是普通的DOS.为了明确地将可执行文件标识为“PE”可执行文件,在文件中的偏移量0x003C处有一个指针。这是文件中的偏移量,将包含字节“PE”和两个空值。其他MSDOS的“MZ”变体将

windows - 使用 Windows 16 位 API 更改目录

我用MASM6.0(AssemblyAPIWindows16位)编写我想在我的代码中更改目录。我正在使用DOS3Call函数(比int21h快)movdx,OFFSETdir_usermovah,3bhinvokeDOS3Call;dir_useristheuser'sworkdirectory,like"c:\prog"有了这个功能,我可以改变目录,但我想知道是否有任何API可以在不使用中断的情况下为我做这件事。我需要一个16位的API,在32位中我知道该怎么做。谁能帮帮我?对不起英语,我不是美国人... 最佳答案 你不能。中断是