4

我正在使用org.python.util.PythonInterpreterJython嵌入到 Java 应用程序中。我正在使用 Jython 版本2.5.2

我正在解释的 Python 脚本包含 UTF-8 文字,因此我根据PEP-0263在脚本顶部添加了 Python 源代码编码:

# -*- coding: utf-8 -*-

我的脚本编译如下:

String script = // load from file as a single String ...
PythonInterpreter pi = new PythonInterpreter();
PyCode code = pi.compile(script);
result = pi.eval(code);

然而,Jython 抱怨以下跟踪:

 [java]     ... : encoding declaration in Unicode string
 [java]     at org.python.core.ParserFacade.prepBufReader(ParserFacade.java:277)
 [java]     at org.python.core.ParserFacade.parseExpressionOrModule(ParserFacade.java:119)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:259)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:256)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:250)

Jython 是否在脚本文件中支持 UTF-8?

4

1 回答 1

0

这是一个轶事答案:正如 Homebrew 在 macOS 上安装的那样,Jython 2.7.1确实支持非嵌入式命令行解释器中的 Python 源代码编码。希望它也得到支持。

于 2018-10-24T01:33:28.920 回答