C#中如何接收python函数的中文字串返回值?

C#winform的调用python程序的过程中,如果python函数的返回值中有中文,在C#中应当如何接收?

1个回答

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码

(与代码本身的编码是一致的!)

http://outofmemory.cn/code-snippet/1587/python-zhongwen-charaeter-coding-decode-encode-yiji-luanma-resolve-summary

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python函数的返回值
转自:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944382.html python 函数返回值有两种形式: 1 返回一个值。 2 返回多个值。 现看看返回一个值的吧。 def firstvalue(a,b):     c = a + b     return c print firstvalu
python函数-返回值
场景:当我们通过某个函数,处理好数据后,想要在外界拿到处理的结果做不同的操作。语法:def 函数名()                函数体                return 数据def mySum(a, b): result = a + b return result res = mySum(4, 5) print(res) 注意事项:1.return后续代码不会被...
第8课 Python自定义函数返回值:单返回值和多返回值问题
1.Python函数返回值 两种形式: 1 返回一个值。 2 返回多个值。 现看看返回一个值的吧。 def firstvalue(a,b):     c = a + b     return c print firstvalue(1,2)结果:3 再看看返回多个值的: 那怎么可以返回多个值呢,其他的语言一般调用函数的话,只能返回一个值,可能我不太熟悉所有的语言,我知道的语言只能返回一个
python之函数的返回值【进阶篇】
返回值简介简单介绍 print 和 return 的区别,print 仅仅是打印在控制台,而 return 则是将 return 后面的部分作为返回值作为函数的输出,可以用变量接走,继续使用该返回值做其它事。函数需要先定义后调用,函数体中 return 语句的结果就是返回值。如果一个函数没有 reutrn 语句,其实它有一个隐含的 return 语句,返回值是 None,类型也是 'NoneTyp...
matlab有多个返回值时C#如何接收
Matlab函数: function[dstmat,answ]=MatrixMultiply(scamat1,srcmat2) dstmat=scamat1*srcmat2; dstmat=double(SubFun(dstmat)); answ=[1,2;3,4]; end   function dstmat=SubFun(srcmat) dstmat=srcmat*1; en
C++调用Python函数(二)——调用函数并输出返回值
上一篇博客介绍了如何配置C++调用Python环境: C++调用Python环境配置 调用的Python函数hello.py: def add_num(a,b): return a+b C++调用Python: #include <Python.h> #include<iostream> using namespace std; int main(...
UnityC#构造函数.this关键字.返回值
欢迎大家来到我的博客http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space 今天学习到了this关键字,this关键字在代码中代表的是对象的本身,如何使用this关键字呢,在C#中当成员变量和局部变量重名时就可使用this,例如:  class Test1     {   
python返回多个参数
在Python中定义的函数返回了两个数组 本来是这样写的 return np.array(train_x),np.array(train_y)然后就一直报错
C#获取存储过程返回值和输出参数值的方法
这篇文章主要介绍了C#获取存储过程返回值和输出参数值的方法,有需要的朋友可以参考一下 1.获取Return返回值 复制代码代码如下: //存储过程 //Create PROCEDURE MYSQL //     @a int, //     @b int //AS //     return @a + @b //GO SqlConne
python函数学习--函数的四种返回值形式
python中函数返回常用一下四种类型, def test1(): print("in the test1")#无返回值 def test2(): print("in the test2")#返回0 return 0 def test3(): print("in the test3")#返回参数 return 'test3' def test4():
c#调用vc的dll (参数有LPSTR) 出现乱码!
开发环境: Vs2010开发,C#调用,Vc6.0 Dll   [DllImport("LSPrinter.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
C# 接收存储过程的 return 值
C# 接收存储过程的 return 值 存储过程 CREATE  PROCEDURE [dbo].[m_products_Insert] (   @prodtid INT = 0       ) AS  DECLARE @returnValue VARCHAR(18) -- 返回操作结果 SET @returnValue = -1        RETURN  @returnValue
使用Task类获取返回值
今天学习了一个使用Task类获取返回值的教程,记录一下心得。 它的应用环境是有多个值需要并行处理时。最好是使用RunSynchronously。因为这可以保证并行处理数据。及时获取返回结果。用这个方法获取返回值,比设置一个公共属性或变量来存值的方法,该代码更加紧凑,简洁。
python-返回函数的理解
最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。首先看看python支持返回函数的基本语法def f(): print 'call f()...' # 定义函数g: def g(): print 'call g()
c++调用python返回值
#include #include #include using namespace std; int main(){ //初始化 Py_Initialize(); //PyRun_SimpleString("print '12'");   单句执行  PyObject* pMod = NULL; PyObject* pFunc = NULL; PyObject* result = NULL;
C#串口传输中文字符
发送:  Encoding gb = System.Text.Encoding.GetEncoding("gb2312");  byte[] bytes = gb.GetBytes("中文");  serialPort1.Write(bytes, 0, bytes.Length);  接收:  int ilen = serialPort1.BytesToRead;  byte[] bytes = 
5.5Python函数(5):一次性返回多个返回值
@概述 Python语言中的函数返回值可以是多个,这是Python相比其他语言的简便和灵活之处; 接收者可以用一个结果来接收多个返回值,此时该结果的类型是元组; 接收者也可以用多个变量来接收多个结果,此时变量的个数和返回值的个数应相等; 看一下如下的方法定义,重点注意其返回: def sayLove(sender, toWhom, count, *args, city="深圳", dat...
python函数 如何返回多个数组 列表返回值 以及接收方法
我们使用python开发时,自定义的函数 有时候需要返回多个值,可能是多个数值、字符串也有可能是多个列表,那么如何返回;返回之后 在调用该函数时 又应该如何接收呢?例如:我定义了一个函数,传入一个url;解析该网页的信息:我要返回两个列表信息:一个是当前页面所有的href链接;另一个是返回该页面的所有文字描述信息description:定义两个空列表:all_src=[]all_des=[] 使用...
C中调用带参数的exe并接收返回值
test.exe [c-sharp] view plaincopy #include   #include   int main(int argc, char* argv[])   {    return 0;   }    获取test.exe的返回值 [c-sharp] view plainc
C# : Socket 接收中文显示乱码的解决办法
由 Programming C# 3.0 示例改编 AsyncNetClient.cs
Python 函数返回值
新手在写函数时往往记得发回他们想要的结果,而其他情况不做要求,譬如: 下面一段代码当参数a的值大于零时交换a,b的值 def swap(param_a, param_b) : ''' :param param_a: :param param_b: :return: ''' if param_a > 0 : param_a,par
.net 后台提交表单,获取返回结果
a.aspx后台提交表单,b.aspx接收表单(根据input的name获得值) 1、a.aspx [html] view plaincopy %@ Page Language="C#" AutoEventWireup="true" CodeFile="a.aspx.cs" Inherits="a" %>      >      h
关于C++调用C#封装的dll后,获取C#中string返回值的问题
需要#include C#中的string与C++中的CString对应
执行外部exe获取返回值
执行外部exe获取返回值
Python 递归函数返回值为None的解决办法
每篇一句: Promises are often like the butterfly, which disappear after beautiful hover. 递归函数:  在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是 递归函数 。   递归函数可以简化我们的代码,但是递归函数的 返回值 有时候会出现一些意想不到的问题。 先来看以下一段代码: de
如何在函数中接收元组、列表和字典
在Python,要用函数接收列表或元组或字典,我们可以采用在这几种类型的参数前面加上 * 或 ** 即可解决。在函数中接收元组,程序代码如下:#参数前面为 * ,代表这个位置的参数不知道有多少个参数,如果有,则将其存储为元组 def x(a,b,*c): print "第一个参数为:" + str(a) print "第二个参数为:" + str(b) print "参数c为
C# 中如何定义和接收消息.doc
C# 中如何定义和接收消息.doc
C#Socket传送/接收中文出现乱码的解决办法
我的程式采用Base64编码方式1.Clienttry    {    TcpClient client = new TcpClient();    Console.WriteLine("Connecting.....");       client.Connect("172.18.33.85",8001);       Console.WriteLine("Connected");    Con
Android学习之——(3)项目中的WebService返回数据处理学习
接上一篇http://blog.csdn.net/fu222cs98/article/details/21554339 在项目中通过WebService调用服务端方法,服务端采用C#编写,当初公司项目应该是没有考虑到android方面(那时候android还没火起来吧),所以在设计方面可能不是那么规范吧(个人理解)。因为服务端返回的数据要么是基础类型数据,要么就是直接返回一个类,返回一个Data
C#接收C++动态库返回字符串char*,在C#端如何接收并得到正确的字符串
最近调用动态库传数据,发现C#接收C++动态库返回字符串char*,在C#端设置对应类型为string无法接收到正确值,最后想到在C#端先用字节数组接收返回的字符串,然后再将字节数组转换为对应的字符串,数据接收终于正确 首先打开VS2012,新建项目->Visual C++,选择Win32项目,如图选择dll 新建项目的名字为dlltest,新建头文件dlltest.h,在源文件dlltes
Python函数调用的下划线缺省参数“_”问题
情况1def count(a,b): a += 1; b += 2; return a,b; a=0;b=0; c=0;d=0; c,d = count(a,b); print c,d; 定义一个count函数,分别对输入的a,b进行+1和+2操作,然后返回a,b。调用count,返回值赋给c,d,输出c,d。结果显而易见c=1,d=2.情况2def count(a,b):
C# Asp.net 前台使用utf-8编码传递中文参数 后台接收乱码的问题
解决方法一: 修改Web.config文件  设置全局编码    修改前:   修改后:utf-8" fileEncoding="utf-8" culture="zh-CN"/> 解决方法二:后台指定编码   原理:系统默认调用了一次HttpUtility.UrlDecode("参数名",系统配置的编码),将参数进行解码。   1.HttpUtility.UrlEncode("参数名
请教各位老师:关于C#中如何接收C++返回的结构体中的指针成员问题。
我用C++写了一个DLL,用C#调用,DLL向C#返回结构体。如下图:图1是C++中的结构体:图2是C#中的结构体:问题:前面的数据都没问题,我要怎样取出整形指针所指向的地址里面的数据?以及整形指针数组所指向的地址里面的数据?希望各位老师帮忙解答,谢谢!...
C#调用含有数组类形参和返回值的matlab函数实例
C#调用含有数组类形参和返回值的matlab函数实例
python 函数返回多个值
(廖雪峰Python教程学习笔记)函数体内部的语句在执行时,一旦执行到return,函数就执行完毕,并将结果返回。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。 return None可以简写为return。Python中的函数是可以返回多个值的。比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:import math de
26-Python-函数的嵌套调用
05.函数的嵌套调用l 一个函数里面又调用了另一个函数,这就是函数嵌套调用l 如果函数test2中,调用了另一个函数test1,那么执行到调用test1函数时,会先把函数test1中的任务都执行完,才会回到test2中调用函数test1的位置,继续执行后续的代码def test1(): print("*"*50) def test2(): print("-"*50) test1() ...
.NET多线程 传入参数与获取返回值
先看一下不需要传入参数的多线程例子:   例1          ThreadStart threadStart=new ThreadStart(Calculate);          Threadthread=new Thread(threadStart);   thread.Start();   public void Calculate(){   double Diamet
C#服务端读取JS中变量(返回值)
这个做法没什么新意,就是就用一个Hidden 1.JS的代码 JavaScript代码 function onClientClick(){ var table=document.getElementById("");for(var i=1;i{ var AbsenseType=table.rows[i].cells[3].getElementsByTagName("select"
C++调用返回多个值的Python函数
转自:http://chensx.iteye.com/blog/1299383  某些时候,用python模块来实现一些特定的功能会比用其他类型的模块更加简洁方便。 在C++程序中,调用python模块时需要加载一些必要的libs,这些libs在网上都可以找到。下面的代码演示了C++程序如何调用python中的函数,并得到从python函数中返回的多个值。 Python代码  # filename...
python在回调函数中获取返回值
python中有用到回调函数的时候,而回调函数又需要返回数值的时候,就需要先将所被传为回调函数的函数先赋值给一个变量,然后等回调结束之后,将这个变量取值回来就可以了。 如我用到到的调用xmlreader时,传入的一个函数需要取回返回值的代码: # 创建一个 XMLReader parser = xml.sax.make_parser() # turn off namep
相关热词 c#怎么调用api接口 c# 调用mstsc c#扩展函数 c#向上转换向下转换 c#chart直方图叠加 c# 添加body样式 c# 调用接口 c#高德地图经纬度查询 c# 测试并发 c# 取操作系统