草庐IT

UTF8ToString

全部标签

windows - 变量中的 utf8 字符串转换无效

这里的效果是消息文本是正确的希腊字母,但消息标题都是空框,有时其他文本有中文字符。stringmsg="έναμήνυμα";MessageBoxW(null,"έναμήνυμα",cast(wchar*)msg.toStringz,MB_ICONERROR); 最佳答案 您需要使用toUTF16z(来自std.utf)将string转换为LPCWSTR而不是强制转换时:MessageBoxW(null,"έναμήνυμα",toUTF16z(msg),MB_ICONERROR);您不需要对字符串文字做任何事情,因为编译器会通过

我认为 Ruby UTF-16 编码

我有一个在Windows上运行的Ruby程序,它使用Open3调用一个shell命令(已知输出UTF-16):attrs={}attrs[:stdout],attrs[:stderr],status=Open3.capture3(command)unlessattrs[:stderr].nil?beginattrs[:stderr].force_encoding(Encoding::UTF_16LE).encode!(Encoding::UTF_8)rescue=>eattrs[:stderr]=attrs[:stderr].bytes.to_json.encode!(Encoding

html - 将 HTML 文档中的 HTML 实体转换为纯 UTF 字符的任何好工具?

我有许多HTML文档,其中包含许多Unicode代码点表示的HTML实体,例如بروح有没有好的工具可以将多个HTML文档中的HTML实体转换为纯UTF-8/UTF-16/UTF-32字符?我想要一个可以为此目的执行批处理作业的离线转换器工具。 最佳答案 我不知道有这样的工具,但您可以轻松编写一个。例如,此C#代码将转换当前文件夹中的所有html文件:foreach(stringnameinDirectory.GetFiles(".","*.html")){strings=File.ReadAllText(name);s=Regex

c++ - Windows 使用带有 UTF-16 的 char * 函数

我将一个应用程序从Linux移植到Windows。在Linux上我使用libmagic在Windows上我不乐意从中删除的库。问题是我需要将以UTF-16编码保存的文件名传递给这样的函数:intmagic_load(magic_tcookie,constchar*filename);不幸的是,它只接受constchar*filename。我的第一个想法是将UTF-16字符串转换为本地编码,但存在一些问题-比如字符串可以包含例如中文符号和本地编码可能是俄语。结果我们将在输出中得到垃圾,程序将无法达到其目标。转换为UTF-8也无济于事,因为这是Windows,Windows以UTF-16格

c# - OpenFileDialog 文件名为 UTF8

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

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中获得的

java - Windows 上的 UTF-8/ISO-8859-1 编码问题 --> Unix

我编写了一个程序来处理瑞典语字母åä和ö。我是在Windows计算机上编写的,一切都运行良好。但是当我尝试在Unix中运行该程序时,瑞典字母不显示,并且该程序在处理瑞典字母时不起作用。顺便说一下,它是在Java中。有什么想法可以在Unix上运行吗? 最佳答案 你应该使用编码之类的东西FileInputStream(file.getAbsolutePath()),fileEncoding)其中fileEncodig=="UTF-8"或其他编码,对于添加-Dfile.encoding=UTF-8系统属性或以编程方式也很有用System.