从python到javautf8编码的stdin管道

2024-10-04 03:23:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一些Unicode字符从Python传输到Java。你知道吗

Python代码:

thai = u"ฉันจะกลับบ้านในคืนนี้" 
command = "java - jar tokenizer.jar " + thai
p = subprocess.Popen(command, stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.PIPE)

我计划通过args[]将它们导入Java。你知道吗

当我在Java中这样运行时,标记器的结果是不同的:

public static void main(String[] args)
{
    String thai = "ฉันจะกลับบ้านในคืนนี้"
    ThaiAnalyzer ana = new ThaiAnalyzer();
    ana.analyze(thai)
}

public static void main(String[] args)
{
    String thai;
    thai = args[0] // "ฉันจะกลับบ้านในคืนนี้"(this string should be passed from python)
    ThaiAnalyzer ana = new ThaiAnalyzer();
    ana.analyze(args[0])
}

我认为这是一个编码问题。你知道吗

请原谅我的简短Java代码,因为我现在没有代码。你知道吗

我想说的是,例如,如果我要用管道将它从python传输到java来标记这个字符串

"Hi i am going home"

我可能会以

"Hi", "i", "am", "going", "home" 

如果我用前一种方法

后一种方法可能会产生

"Hi i", "am", "going home" 

我的问题是由于输出结果的不同。我用英语来说明我的问题。你知道吗


Tags: 代码homestringargsjavahiamcommand