WebLogic/WebSphere监控中常用到Jython,就想下一个学学,听说简单易用,结果刚开头就碰到问题了。具体见下:
E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello" ... ... LookupError: unknown encoding 'ms936' E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> if 1: LookupError: unknown encoding 'ms936'
两条很简单的命令:print没有正常返回;if命令直接出错退出Jython提示符了,怀疑Jython安装有问题。问问有经验的人,原来是本机字符和安装程序字符不一致导致。自学技术最怕这种属于知不知道范畴的东东了,瞎捉摸瞎搜索,最费时间了。先说解决方法吧:
E:\TEMP>chcp 437 Active code page: 437 E:\TEMP>jython -i Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [IBM J9 VM (IBM Corporation)] on java1.6.0 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello" hello >>> quit()
延伸阅读:
what-encoding-code-page-is-cmd-exe-using
错误1:LookupError: unknown encoding 'gbk'
现象:一条简单的print没有正常返回,报上述错误,原来是本机字符和安装程序字符不一致导致。
解决:
>>> #_*_ coding: cp850
在jython2.5.3\registry 文件中,有这种配置,取消注释,就是设置控制台编码
# Setting this to a valid codec name will cause the console to use a different encoding when reading commands from the console.
#python.console.encoding = cp850
扩展:获取当前系统支持的编码列表
>>> import encodings
>>> encodings.aliases.aliases 列出所有支持编码集合
>>> for key in encodings.aliases.aliases.keys(): print "%-25s%-25s"%(key,encodings.aliases.aliases[key]) 分两
其中有这么几条:
936 gbk
utf8 utf_8
850 cp850
http://bbs.csdn.net/topics/390035497
#!/usr/bin/env python
# -*- coding: gbk -*-
提示错误:LookupError: unknown encoding 'gbk'
python是可以的,但是jython提示错误,这如何解决gbk 问题呢?
# -*- coding: gbk -*-
提示错误:LookupError: unknown encoding 'gbk'
python是可以的,但是jython提示错误,这如何解决gbk 问题呢?
在网上搜搜,两三年前就有人问这个问题了,从没有人回答.
从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.
用utf-8吧.
从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.
用utf-8吧.
相关推荐
讲解了Jython中的文件读写机制,包括打开、读取、写入和关闭文件的步骤,以及如何处理不同的文件类型和编码。 ### 7. 创建Swing GUI #### 7.1 GUI开发 最后,文章演示了如何使用Swing组件在Jython中创建基本的...
BurpSuite Plugin通过字符集编码绕过waf的burp插件因为小伙伴在实战中有这么个需求(利用字符集编码绕过waf),所以我借着他的这个需求也学习了下burp插件的编写。预览ASP.NET+IIS使用说明其实这种方法很早就出来了...
Jython提供了内置的json模块,该模块允许我们轻松地对JSON数据进行编码和解码。例如,我们可以使用`json.dumps()`将Python对象转换为JSON字符串,而`json.loads()`则可以将JSON字符串解析为Python对象。 下面是一个...
例如,你可以生成一系列素数,然后使用Jython将这些数据编码为XML: ```python def is_prime(n): if n return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True def ...
原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 >>> print r'\n' \n >>> print R'\n' \n 格式字符串 Python 字符串格式化符号: | 符号 | 描述 | | -...
- 在考虑不同Python实现(如CPython与Jython)的性能差异时,推荐使用`.join()`而不是简单的字符串连接。 **2. 使用`is`和`is not`** - 尽量使用`is`和`is not`代替`==`,例如`if x is not None`。 **3. 异常处理*...
PEP8 规定编码中考虑到其他 Python 实现的效率等问题,例如运算符 '+' 在 CPython(Python)中效率很高,在 Jython 中却非常低,所以应该采用 .join() 的方式。尽可能使用 'is' 'is not' 取代 '==',例如 if x is ...
- **字符串和编码**:深入探讨Python中字符串的表示方式、操作方法以及字符串编码的概念,尤其是Unicode编码的使用。 - **使用list和tuple**:介绍列表(list)和元组(tuple)这两种常用的数据结构,包括它们的区别、...
- 调试工具:pdb(Python Debugger)是内置的调试器,可以帮助定位和修复代码问题。 8. **性能和优化**: - 使用列表推导式和生成器表达式提高代码效率。 - 使用 `timeit` 模块来度量代码执行时间。 - 了解 ...
Python3相较于Python2,有许多改进和不兼容之处,例如库名的变化、print函数的使用以及字符编码的处理。 Python3 的一个显著特点是动态解释性,这意味着它的代码在运行时被逐行解释,而不是一次性编译成机器代码。...
- **字符集问题:** 解决不同字符集之间的转换问题。 - **多线程支持:** 优化性能,允许多个线程并发处理模板。 - **Bean 包装器:** 为 Java Beans 提供更灵活的访问机制。 - **日志记录:** 记录 FreeMarker 的...
- 强调了在编码之前先编写测试的重要性。 - **简单的测试框架 (A Very Simple Framework)** - 提供了一个基础的单元测试框架示例。 - **编写测试 (Writing Tests)** - 如何有效地编写测试用例以覆盖各种情况。 - ...
- **编码介绍**:Python 支持 Unicode 编码,默认字符串为 Unicode 字符串。 - **操作**:可以对字符串进行各种操作,如拼接、分割、替换等。 - **使用 list 和 tuple** - **区别**:列表是可变的,而元组是不可...
- **编码声明**:在文件开头可以使用`# -*- coding: encoding -*-`来指定文件的字符编码。 - **显式行拼接**:通过`\\`在行尾进行行拼接。 - **隐式行拼接**:在行尾的括号、方括号或大括号内,行末的`\n`不会导致...