为什么会发生以下情况:
>>> u'\u0308'.encode('mbcs') #UMLAUT
'\xa8'
>>> u'\u041A'.encode('mbcs') #CYRILLIC CAPITAL LETTER KA
'?'
>>>
Run Code Online (Sandbox Code Playgroud)
我有一个Python应用程序接受操作系统的文件名.它适用于一些国际用户,但不适用于其他用户.
例如,这个unicode文件名:u'\ u041a\u0433\u044b\u044b\u0448\u0444\u0442'
不会使用Windows的'mbcs'编码进行编码(文件系统使用的编码,由sys.getfilesystemencoding()返回).我得到'???????',表示编码器在这些字符上失败.但这没有任何意义,因为文件名来自用户开始.
更新:这是我背后原因的背景...我的系统上有一个文件,名字是西里尔文.我想用该文件作为参数调用subprocess.Popen().Popen不会处理unicode.通常情况下,我可以使用sys.getfilesystemencoding()给出的编解码器对参数进行编码.在这种情况下,它将无法正常工作
我有一行文本文件(它总是只有一行)
例如:helloworld.txt包含"hello world"
我想通过ms-dos命令promt将其读入环境变量.
所以设置MyVar =以某种方式阅读helloworld.txt
有谁知道如何做到这一点?谢谢
我有一个文件"file.txt",其中包含"dir/s/b*.c"的输出
我想在单个变量中写入file.txt的整个内容.
有任何想法吗?