我在这个问题上的智慧结束了。我需要在文本文件中写一些中文字符。以下方法有效,但新行被剥离,因此生成的文件只是一个超长字符串。
我尝试插入我知道的所有已知的unicode换行符,什么都没有。任何帮助是极大的赞赏。这是片段:
import codecs
file_object = codecs.open( 'textfile.txt', "w", "utf-8" )
xmlRaw = (data to be written to text file )
newxml = xmlRaw.split('\n')
for n in newxml:
file_object.write(n+(u'2424'))# where \u2424 is unicode line break
答案 0 :(得分:2)
如果你使用python 2,那么使用你" \ n"添加换行符,并在将内部unicode格式写入文件时将其编码为utf:file_object.write((n+u"\n").encode("utf"))
确保n
在循环中的类型为unicode
。
答案 1 :(得分:0)
我遇到了同样的问题,并且效果相同(机智的目的和全部)。就我而言,这不是编码问题,而是需要用'\ r \ n'替换每个'\ n',这可以更好地理解换行和回车之间的区别,以及Windows编辑器的事实通常需要\ r \ n作为换行符:12747722
答案 2 :(得分:0)
最简单的方法是使用marc_a所说的“ \ r \ n” 的组合。
因此,您的代码应如下所示:
var inputText = document.getElementById("textField");
var myUl = document.getElementsByTagName("ul");
inputText.addEventListener("keypress", function(event){
if( event.keyCode === 13){
var myInputText = this.value;
var listItem = document.createElement("li");
var spanItem = document.createElement("span");
var theText = document.createTextNode(myInputText);
var span_img = document.createElement("img");
span_img.src = "images/trashCanBlack.png";
spanItem.appendChild(span_img);
listItem.appendChild(spanItem);
listItem.appendChild(theText);
myUl[0].appendChild(listItem); // this works, but only adds it on the end
this.value = "";
}
});