Articles of 编码

Vim的。 编码文件保存在Windows中遇到问题

每次我在某些文件夹的窗口中保存文件后,都会出现字符。 而对于其他一些文件夹 – 一切都很好。 我无法find一切正常的文件夹和文件夹保存不良结尾的文件夹之间的区别。 所以我必须每次在修改后的文件中在我的linux虚拟机上运行dos2unix 。 由于这些文件是javascript – 这是非常烦人的! 帮帮我,在哪里挖? 如何避免在文件末尾出现字符? :set fileencoding=utf-8没有帮助。 通常vim有dos文件 – 缓冲窗口底部的[dos]标签 – 在我的情况下一切正常,没有[dos]标签。

包含二进制可执行文件

我想创build一个windows batch脚本,它将包含一个base64编码的程序。 包括我的意思是 – 编码的程序将被“硬编码” – 应该有一个“函数”(或代码块),将逐行写入文件。 (就像这个问题涉及到Linux Bash : 包含二进制可执行文件的Bash脚本 ) 我想问问你做什么是最好的方法是什么,当它应该适用于以下几点: 我只想使用捆绑在Windows上的工具(没有额外的库,可执行文件等) 该文件应该是单一的 – 它可以以任何方式简单地包含base64编码的string 我不想得到高度的可能的performance 我试图将每个base64编码行转换为回声呼叫,但这是非常缓慢的。 回应6000行大约需要10秒钟(我想用这种方法生成一个文件,大概有10000行)。 有没有更好的方法来做到这一点? 也许有一个“文件分割器”在Windows中,这将允许我拆分这个批处理脚本和“提取”以某种方式某些行(如提取行100-10100),并将其保存到另一个文件? 目前使用的文件生成的一部分如下: :getbin_Windows_x86 […] echo f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAsCVAAAAAAABAAAAAAAAAAEiGBQAAAAAAAAAAAEAAOAAK>>%INSTALLER_BASE_TMP% echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>%INSTALLER_BASE_TMP% echo AAAMAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>%INSTALLER_BASE_TMP% […] GOTO:EOF 我很乐意使用batch file来做,但是如果Power Shell会给我一些更好的结果,我会把它移过来。

调用system()的行为与命令提示符(cmd)的行为不同

我需要通过C ++代码剪切并粘贴到另一个文件夹。 但是一些目录名是有问题的,比如那些有日文符号的目录名。 但是,通过cmd引入的相同的命令都可以正常工作。 system("move dirName dirName2"); //work system("move ディレクトリ dirName2"); //does not work (system cannot find the specified file) system("move ディレクトリ.txt dirName2"); //work 有趣的是,如果具有日文符号的项目是文件而不是文件夹,则即使使用对system()调用,该操作也可以正常工作。 我不知道为什么第二次调用system()不起作用或如何解决它。 PS:我正在使用Windows7。

如何在Windowsregistry中存储任意文本(包括'\')

我在Windowsregistry中存储一些简短的用户数据string。 这工作得很好,直到我的一个用户试图存储包含'\'字符的string。 这被解释为registrypath分隔符。 避免这个问题的最佳做法是什么? 某种简单的编码? 注意/我正在使用Qt QSetting类来通过C ++访问registry,所以我将不胜感激一个通用的答案,而不是特定于任何特定的MS工具/语言。

C ++将数据从std :: string复制到std :: wstring

比方说,我有一个std::string ,但数据编码为UTF-16。 我怎么能将这些数据复制到一个std::wstring ,根本不修改数据? 另外,我不能只使用std::wstring因为我在线检索文本文件并检查Content-Type标题字段以确定编码。 但是使用std::string来接收数据。

Windows:直接检查cp1252

让我这样说:我绝不是Windows程序员。 请帮我纠正我可能有的任何误解。 我的理解是Windows具有(传统)单字节string接口和现代化的Unicode接口。 我的目标是仔细检查在Windows内核中实现的cp1252。 我将从Windows XP开始,但是我打算尽可能多地检查版本。 我将使这样的程序的输出类似于: https : //encoding.spec.whatwg.org/index-windows-1252.txt 我的问题主要是:我将使用什么Windows API函数来完成上述任务? 我认为这是mbstowcs_s 。 其次:我必须写C来检查相关接口吗? 如果是的话,我会用什么编译器? 我认为Visual Studio Express 2010是一个很好的匹配,但我找不到任何(合法)的地方下载它。 对于那些必须知道X到Y的人来说,有两个相互竞争的标准和cp1252的实现。 他们只是略有不同,但他们有所不同,这对我很重要。 WHATWG指定,所有的浏览器都实现这个标准: https : //encoding.spec.whatwg.org/index-windows-1252.txt 微软指定,而Python实现这个标准: http : //unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT 区别在于五个不可打印的字符。 在Windows规范中,它们完全未定义,所以这些字节不能通过cp1252进行往返。 在WHATWG规范(和所有的浏览器)中,这些字节映射到相同值的非打印字符,就像在latin1中一样,这意味着这些字节可以通过cp1252成功往返。 我强烈怀疑,微软的实现实际上符合WHATWG规范和浏览器的实现,而不是他们发布的规范。 这是我想要certificate/反驳以上。

为什么我的文件需要dos2unix? 只在日食

当我在eclipse中打开一个文件时,它显示不正确的行间距显示每行之间的额外换行符。 当我用记事本或写字板打开文件,它不显示这些额外的换行符,只有日食显示。 如何得到eclipse阅读这些文件,如记事本和写字板没有这些换行符? 编辑:我没有这个问题的所有文件,但只有less数几个我已经做了本地更改>上传到我们的太阳站>然后把这些文件回到我的本地工作站进行未来的修改。

如何在Windows批处理脚本中更改redirect文件的文件编码?

我有以下的Windows批处理命令作为更大的batch file的一部分: type *.sql > dbScript.txt ren dbScript.txt dbScript.sql 正如您所看到的,它将特定目录中的所有SQL脚本合并为一个,以便在数据库构build过程中执行该脚本。 我的问题是,我现在有一个SQL脚本文件中的非ANSI字符,但是dbScript.txt(和随后的dbScript.sql)被编码为ANSI。 如何将输出文件的编码更改为UTF-8?

char *函数与UTF-16的Windows使用情况

我将一个应用程序从Linux移植到Windows。 在Linux上,我使用libmagic库,我不会很高兴摆脱在Windows上。 问题是我需要以UTF-16编码的文件名传递给这样的函数: int magic_load(magic_t cookie, const char *filename); 不幸的是,它只接受const char *文件名。 我的第一个想法是将UTF-16string转换为本地编码,但也有一些问题 – 像string可以包含例如中文符号,本地编码可能是俄语。 因此,我们将得到垃圾的输出和程序将达不到其目标。 转换成UTF-8也没有帮助,因为这是Windows和Windows以UTF-16保存文件名。 但我不知何故需要使该function可以用Unicode名称打开文件。 我只是遇到了一个非常糟糕的解决scheme: 1. I have a filename 2. I can copy file with unicode name to file with ASCII name like "1.mp3" 3. open it with libmagic functions and get what I want 4. remove temporarily file 但是我明白这个解决scheme是不好的,以及它如何让我的应用程序变得更慢,所以我想知道,也许有更好的方法来做到这一点吗? […]

字符不能用CLISP(2.49)中的字符集表示

我试图在Windows上使用CLISP。 所以,当我在命令行中启动它时,我会看到下一个 *** – SYSTEM::DRIVER: Character #\u0414 cannot be represented in the character set CHARSET:cp437 Break 1 [3]> 我怎样才能解决这个问题?