将unicode编码为csv字符串

时间:2015-09-01 08:16:54

标签: java python csv unicode

我想将此字符串编码为python字符串。

字符串示例: “abc \ nbcd” unicode String

p=subprocess.Popen([path],stdout=subprocess.PIPE,stdin=subprocess.PIPE)
p.stdin.write('strings\nstrings')
p.stdin.flush()
output = p.stdout.readline() #output reads from Java

我正在将此输出传递给java程序。

我的java程序将通过Scanner(System.in)

读取输入

Java程序

Scanner scan = New Scanner(System.in, "UTF-8");
PrintStream out = new PrintStream(System.out, True, "UTF-8");
System.setOut(out);
while (true)
{
    while(in.hasNextLine())
    {
        //do processing
        //splitting this up. The output would be an array
        //method to combine the array elements to a string.
        System.out.println(output);
    }
}

如果我有许多必须按顺序处理的文件,则会出现此问题。会发生什么,缓冲区将被填充,并将出现死锁。

所以基本上我正在寻找的是一种解决方案,“abc \ ncde”可以被视为一行而不是两行。

好吧,我正在尝试将一些unicode字符串标记出来。

工作流

从文件中读取字符串(可以有多个字符串)。将它们传递给Java引擎以进行标记化。将标记化字符串作为由“\ k”(任意分隔)分隔的单个字符串返回。使用字符串生成器组合标记化标记并在python中再次将它们拆分。

这是问题所在。从stdout读取时,并非所有令牌都从流中刷出,而有些则留在stdout中导致死锁情况。

因此,我的代码。

当流已满时,

p.stdin.write(txt)挂起。

0 个答案:

没有答案