Articles of 编码

pythonCGI脚本不会在Linux上打印希伯来语

可能重复: 如何使python 3 print()utf8 我不能让Python的CGI打印在Linux上的HTML网页的希伯来字符。 这是一个脚本,它演示了这个问题: #!/usr/bin/python3 print('Content-Type: text/html; charset=utf-8\n\n') print ('<html><body>') print ('first') print ('second') print ('תמות') print ('third') print ('</body></html>') 该文件保存在utf-8(不含BOM)中。 我直接从浏览器地址栏中调用这个.cgi脚本。 输出是: first second 而希伯来文和其他任何后面的都没有了。 没有错误显示在Apache日志或启用cgitb 我用apache 2.2和python 3.2在linux ubuntu 12.04和centos 6上用firefox,chrome和IEtesting。 当然,我可以在任何纯HTML页面上看到希伯来语。 在Windows上它工作得很好。 解: import sys print (sys.stdout.encoding) 给我: ANSI_X3.4-1968 最后这解决了我的问题: import sys, codecs sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach()) 这是另一个select: import sys, io […]

如何重新sorting文件内容来实现简单的混淆

如果我有一些具有可识别的签名的文件,例如幻数 ,则它们在Nautilus中被识别为文档,video或audio,而不考虑后缀。 如果我想对它们进行编码而不将编码文件本身识别为编码,则一个简单的策略可以是以块为单位重新sorting文件内容: 例如,如果文件被分割成10个相同大小的块(任何其余的可作为可变大小的第11个块, K ) ABCDEFGHIJK ,则简单编码将重新排列块顺序:例如, block_encode input_file output_file将导致输出文件组织为: BADCFEHGJIK 。 (当然,我也可以只交换“后半部分”和“前半部分”,在文件末尾留下1个字节)。 在这种情况下,解码将通过简单地再次应用编码来实现。 生成的文件很可能不会被识别为有效的文件,video,audio等 我的问题是:是否有任何简单的方法在bash中使用标准工具(例如dd )来实现这一点? (如果需要,我可以写一个C程序)。 后续将是:如果文件是一个媒体文件,我怎么能stream“解码”的内容,例如,VLC,而不必将解码的stream保存为一个文件第一?

UTF-8字符编码在控制台(Linux)上不起作用

在我的Java程序中,我想输出这个字符:⊨ 它在Eclipse中工作,但不在我的bash控制台上。 这是我的主要: public static void main(String[] args) { System.out.println(System.getProperty("file.encoding")); System.out.println(Charset.defaultCharset().name()); String original = "\u22A8"; System.out.println("original = " + original); } 这是我在Eclipse内置控制台中的输出。 请注意,我设置了Run Configurations > Common > Encoding > Other > UTF-8 UTF-8 UTF-8 original = ⊨ 以java -Dfile.encoding=UTF-8 Main调用时,这是我在terminal上的输出 UTF-8 UTF-8 original = ⨠当用java Main调用时,这是我在terminal上的输出 ANSI_X3.4-1968 US-ASCII original = ? 我怎样才能让它在控制台上工作?

ISO-10646 XFont编码问题

我正在尝试在我的X Window程序中使用ISO-10646固定字体。 它必须支持英文,俄文和希腊文字母,但它不支持。 在xfontsel窗口中一切正常,但在我的程序中只有英文显示正确。 使用类似g++ -fexec-charset=ISO-10646 …或g++ -finput-charset=ISO-10646 …没有帮助。 我该如何解决? testing应用窗口截图: xfontsel窗口截图: testing应用代码: #include <X11/StringDefs.h> #include <X11/Xaw/Command.h> int main(int argc, char **argv) { Widget widget = XtInitialize(argv[0], "simple", NULL, 0, &argc, argv); XtVaCreateManagedWidget( "English Русский ελληνικά", labelWidgetClass, widget, XtNfont, XLoadQueryFont(XtDisplay(widget), "-Misc-Fixed-Medium-R-Normal–20-200-75-75-C-100-ISO10646-1" ), XtNwidth, 500, XtNheight, 100, NULL ); XtRealizeWidget(widget); XtMainLoop(); }

TextField“umlauts”不会显示在Linux上

Java 1.5,Linux 我有一个屏幕,其中包含不同的textareas和文本字段。 我已经访问了应用程序框架,但没有访问框架内的组件,因为我只获得一个接口的实现。 当我尝试添加德语变音符号时,我在文本组件中看到一个矩形,因为该字符不受支持。 在linux下,我必须设置哪种字体或哪种系统属性来支持“元音变音”。 在Windows上,字符显示正确。

将两个audio文件与命令行工具组合在一起

我必须将两个(或更多)audio文件(如吉他和鼓音轨)合并到一个文件中。 我正在运行Linux CentOS,我需要一个命令行工具来执行此操作,因为我必须将其作为后台进程的一部分运行,并通过自定义bash脚本的crontab来触发。 我也需要能够改变声像,音量,修剪和开始时间(即,我希望吉他音轨在鼓音轨后1.25ms之后开始,以便它们可以彼此同步)。 我的第一个select是ffmpeg,但是我想知道是否可以比ffmpeg更具体,更可靠和更less模糊。 thx一吨! -K-

Linuxfind重新编码所有文件到子目录

我试图重新编码目录中的所有文件,并把结果放在一个子目录中。 我在用着 find . -type f -name '*.txt' -execdir iconv -f utf-16 -t utf-8 {} > reencoded/{} \; 但是文件名不会replace第二次出现的“{}”,则会导致重新编码/ {}。

由于一个奇怪的文件,Haskell中的readProcess“grep”失败

我有一个文件MAIL.txt包含奇怪的字符(这个文件来自Windows,我在Linux上)。 它包含stringrec 。 当我运行grep "rec" MAIL.txt在terminal,我得到了预期的输出。 但是这个命令在Haskell中失败了: Prelude System.Process> r <- readProcessWithExitCode "grep" ["rec", "MAIL.txt"] "" *** Exception: fd:13: hGetContents: invalid argument (invalid byte sequence) 什么是解释,有没有办法避免(不修改奇怪的文件)? 这里是grep的输出,你可以看到奇怪的字符: 实际上这些应该是重音字母。 我无法用readFile读取文件: > r <- readFile "MAIL.txt" > r "Bonjour,\r\n\r\n Quelques remarques sur cette fiche :\r\n\r\n- *** Exception: MAIL.txt: hGetContents: invalid argument (invalid byte sequence) 也许有一种方法来检测Data.Binary的问题? 解 要详细说明@ […]

有没有办法检测Windows和Linux在C + +的文件名编码?

我试图做一个跨平台的应用程序在c + +字符转换。 我用UTF-8规则build立了一个转换表。 等式(A =诶)。 我使用boost库来获取文件名。 我的理解是,我必须将它们从编码X转换为UTF-8,执行转换,转换回编码X并保存新的文件名。 我如何找出文件系统正在使用的编码?

由于\ n,windows和linux的base 64编码不匹配

我在windows中使用下面的命令find了基本的64位编码string: Console.WriteLine(System.Convert.ToBase64String(Encoding.UTF8.GetBytes("4"))); 这出来是: NA== 之后,我使用以下命令在linux中find了base64编码的string: openssl enc -base64 <<< '4' 这出来是: NAo= 从其他post看了很多后,我确保在Windows中使用utf-8编码。 但是,现在的问题是我认为\r\n或\n 。 那么我们如何纠正呢?