encode与decode,中文乱码

https://blog.csdn.net/Y601343678/article/details/78585728 p>

如何获得系统的默认编码?

#!/usr/bin/env python

#coding=utf-8

import sys

printsys.getdefaultencoding()

该段程序在英文WindowsXP上输出为:ascii

该段程序在英文Windows7上输出为:mbcs

在UliPad中运行如下代码:

s=u"中文"

print s

会提示:UnicodeEncodeError:‘ascii‘ codec can‘t encode characters in position 0-1: ordinal notinrange(128)。

这是因为UliPad在英文WindowsXP上的控制台信息输出窗口是按照ascii编码输出的(英文系统的默认编码是ascii),

而上面代码中的字符串是Unicode编码的,所以输出时产生了错误。

将最后一句改为:prints.encode(‘gb2312‘)

则能正确输出“中文”两个字。

若最后一句改为:prints.encode(‘utf8‘)

则输出:\xe4\xb8\xad\xe6\x96\x87,

这是控制台信息输出窗口按照ascii编码输出utf8编码的字符串的结果。

unicode(str,‘gb2312‘)与str.decode(‘gb2312‘)是一样的,都是将gb2312编码的str转为unicode编码

使用str.__class__可以查看str的编码形式

原文地址:https://www.cnblogs.com/heluobing/p/11229255.html

时间: 2024-11-03 21:09:56

encode与decode,中文乱码的相关文章

URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址. 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取. 2. 乱码是如

Python字符串的encode与decode研究心得——解决乱码问题

转~Python字符串的encode与decode研究心得——解决乱码问题 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unico

解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) 'utf-8' codec can't decode byte...)

Vs2013中创建python文件,在文件中没输入中文时,编码为utf-8的,如图 接着,在里面输入几行中文后,再次用notepad++查看其编码如下,在vs下运行也报错(用cmd运行就不会): 根据以有经验,这是字符编码的问题了,试着将python文件的转化为utf-8的,直接在notepad++上转utf-8 无bom编码格式的,保存,打开vs,会有以下提示 这里不要选择no吧,不然可能会提示以下类似的错误 如果有提示,直接关闭,不然的话,vs又会将此文件保存为ascii格式了 解决vs20

URL传值中文乱码的解决

使用 tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为通过表单取得的中文数据为乱码. 一.初级解决方法 通过一番检索后,许多人采用了如下办法,首先对取得字符串按照 iso8859-1 进行解码转换,然后再按照 gb2312 进行编码,最后得到正确的内容. 示例代码如下: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPtname = new String(

Android 使用JSON格式与服务器交互 中文乱码问题解决

当前是在开发Android 程序时,客户端与服务器端采用JSON传送数据,发现中文乱码问题.不过这个问题的解决办法应该对所有java语言开发的项目都使用. 解决方法是: 1.客户端发送数据之间加上: URLEncoder.encode("要传送的数据", "utf-8"); 对要发送的数据进行字符集设置. 2.服务器端接收数据时加上: URLDecoder.decode("接收的数据", "utf-8"); 对接收的数据进行字

java开发中中文乱码总结

1.jsp页面内容显示乱码 这种乱码原因很简单,一般的工具或解码程序对中文字符解析时采用默认的解码方式: <%@ page contentType="text/html; charset=ISO-8859-1"%> 我们只需修改其编码方式即可,如下: <%@ page contentType="text/html; charset=UTF-8"%> 字符集:UTF-8 > GBK > GB2312 2.jsp 与 Servlet

被坑死了的中文乱码

最近在调试一个接口.然后,就被中文乱码给坑了. 事情的经过是这样的,领导让我跟其他服务器的接口进行对接,简单点就是我这边暴露一个http的请求地址给对方,然后对方发请求到我这边.然后,对方请求时,使用的是GBK编码的GET请求,然后,中文到我这边就乱码了. 最初,我这边的tomcat使用的是UTF-8编码.然后,接到对方请求后,怎么转都转不过来中文.当初不想改tomcat的配置,我就将(GBK.UTF-8.GB2312.ios-8895-1)这四种编码来回转啊!怎么就转不过来. 后来,没办法.那

jsp与servlet中文乱码问题(转)

大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考.首先了解一下Java中文问题的由来: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题.首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流

Jsp---cookie中文乱码解决方法

//写cookie <form method="Get"> 姓名: <input type="text" name="name" /> <br /> <input type="submit" value="确定" /> </form> <!-- 写入cookie到客户端 --> <% if (request.getParamete

[转]Python的经典问题——中文乱码

关键字:Python UTF-8 GBK 中文 乱码估计入门时都会遇到的.我是在windows下用的Python25自带的IDLE编辑运行的,发现运行脚本得出的结果有一些中文显示是乱码,但有一些是正常的.百思不得其解.首先查看了一下源文件的编码格式,是UTF-8.经过搜索再搜索,调试再调试,也换了几个编译器,发现比IDLE还糟糕(可能需要进行encode设置).问题终于解决了,一共花了俺将近5个小时,写在这里,希望遇到问题的人能搜索到这里,不再重犯.乱码原因:因为你的文件声明为utf-8,并且也