最近在研究umbraco,这是一款.net下比较强大的CMS,灵活性很高,支持XSLT ,UserControl,IronPython等,在应用IronPython作为宏的时候,发现不支持中文,经过研究后,这不是umbraco的问题,而IronPython本身的问题。据说是IronPython支持多国编码的。可以应用如下方式
import sys
sys.setdefaultencoding('GB2312')
b="中国"
print b
遗憾的事,事情不像想象地那么美好。网上还有介绍u”中国”,abc.encode之类的方法,好象不管用。后来,看了IronPython(1.1)的源码,发现在SystemState中的Initialize方法里有这么一句。DefaultEncoding = Encoding.ASCII; 按理说DefaultEncoding是可以通过sys.setdefaultencoding进行赋值变更的,但经测试后,好像不行。由于时间的关系没用继续研究下去。解决问题就返回来了。具体的方法如下:
(1)将DefaultEncoding = Encoding.ASCII;修改为
DefaultEncoding = Encoding.GetEncoding("GB2312");
(2) Parser.cs中的FromFile中的Encoding.ASCII编码改为Encoding.GetEncoding("GB2312");
重编译后,无论是代码脚本还是从文件脚本均可以正常
test.py文件内容
b="上海"
print b
测试代码
IronPython.Hosting.PythonEngine pe = new IronPython.Hosting.PythonEngine();
MemoryStream sout = new MemoryStream();
pe.SetStandardOutput(sout);
pe.Execute("print \"中国\"");
pe.ExecuteFile("c:\\temp\\script\\test.py");
string result = Encoding.GetEncoding("GB2312").GetString(sout.ToArray());
System.Console.WriteLine(result);
- 描述: 输出结果
- 大小: 4.5 KB
分享到:
相关推荐
2. **README.md**: 这是项目的重要文档,包含了关于IronPython.2.7.8的基本信息,如安装指南、使用方法、已知问题和贡献方式等。Markdown格式使得文档易于阅读和维护。 3. **Lib**: 这个目录包含了IronPython的库...
IronPython-2.7.4 是一个开源的Python实现,它是专门为.NET Framework和 Mono 平台设计的。这个版本的IronPython兼容Python 2.7的语法和库,允许开发者在.NET环境中运行Python代码,同时也支持与.NET组件的无缝集成...
在.NET 6中调用IronPython来实现动态执行脚本是一项强大的功能,它允许程序员在运行时编写和执行Python代码,极大地增强了应用的灵活性。IronPython是一个开源的Python实现,它能够无缝集成到.NET环境中,使得.NET...
IronPython是一种基于.NET和Mono平台的Python实现,它是由Jim Hugunin开发的,而他也是Jython的创始人。这个项目的主要目标是提供一个与标准CPython解释器兼容的Python环境,同时利用.NET框架的强大功能。IronPython...
IronPython是一种基于.NET框架的Python实现,它允许开发者在.NET平台上使用Python语法编写代码,并能够无缝集成.NET生态系统中的各种资源。IronPython与传统的CPython(标准Python解释器)相比,最大的优势在于它...
标题中提到的“Python中文乱码问题深入分析”指出了在Python编程中处理中文字符时常见的编码问题,这些问题通常源于不同的编码标准(如UTF-8、GBK等)之间的不兼容性。这种问题往往出现在从一个编码格式转换到另一个...
标题中的"IronPython-2.7.7.msi"指的是IronPython的一个版本,这是一个开源的Python实现,可以在.NET Framework上运行。它允许开发者使用Python语言编写应用程序,同时利用.NET平台的强大功能。金蝶云,另一方面,是...
IronPython in Action 无水印pdf版。 IronPython in Action 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络 IronPython Action
《IronPython in Action》是一本深入探讨IronPython的权威书籍,专为那些希望利用Python的强大功能与.NET Framework的丰富库进行交互的开发者而设计。这本书不仅涵盖了Python的基础知识,更着重于讲解如何在.NET环境...
10. **社区与资源**:由于IronPython是开源项目,有活跃的社区提供支持,包括文档、示例代码和第三方库,这对于学习和解决问题非常有帮助。 深入研究IronPython 2.6的源代码,不仅可以了解Python语言的实现细节,还...
IronPython是一种开源的Python实现,它能够无缝地与.NET Framework集成,允许开发者使用Python语言编写.NET应用程序。在.NET环境中,IronPython提供了与C#、VB.NET等其他.NET语言的互操作性,使得Python开发者可以...
IronPython是Python编程语言的一个实现,它允许开发者在.NET Framework和Mono平台上运行Python代码。这个压缩包"IronPython-2.7.7-win.zip"包含了IronPython的2.7.7版本,专为Windows操作系统设计。这个版本是在...
4. **测试套件**:用于验证IronPython的正确性和性能的测试用例,可以帮助开发者理解IronPython的功能边界和潜在问题。 5. **构建脚本**:如果包含的话,这可能是用于编译和打包IronPython的脚本,对于想要自定义或...
### IronPython in Action #### 知识点概览 1. **IronPython 概述** - 定义与背景 - Python 和 .NET 的结合 - IronPython 的特性与优势 - 实际应用场景 2. **IronPython 入门** - 安装与配置 - 第一个 Iron...
这个版本的IronPython让开发者可以尝试Python 3的新特性,但可能包含一些未解决的问题和bug,因此主要用于测试和开发用途。 3. **.NET Framework**:.NET Framework是由微软开发的软件框架,用于构建和运行各种类型...
【IronPython2.0最新版本】是Python编程语言的一个实现,它允许开发者在.NET Framework上运行Python代码。这个实现由Microsoft开发,旨在提供一个与标准CPython解释器兼容的环境,同时利用.NET平台的高性能和丰富的...
标题中的"IronPython和C#交互"涉及到的是两种不同编程语言——IronPython(一种Python的实现,能够在.NET框架上运行)和C#之间的协同工作。 IronPython的优势在于它允许Python开发者利用.NET平台的强大功能,而C#是...
IronPython-2.7.5 是一个开源项目,它允许开发者在 .NET Framework 上运行 Python 代码,并且能够与 C# 程序无缝集成。...无论是对于提升开发效率、扩展应用功能还是解决特定问题,IronPython 都是一个极具价值的工具。
描述中提到的问题是关于Visual Studio中的集成开发环境(IDE)无法识别或找不到IronPython 2.7-32环境,这可能是因为缺少必要的Python环境或者IronPython的相关组件没有正确安装。 解决这个问题的关键在于确保系统...