C++调用python时怎样能传递中文字符串?

传递英文字符串的时候没问题。。传中文的时候就不能运行了
求高手解答
图片说明
图片说明
图片说明
图片说明

4个回答

字符串需要编码,Windows控制台下面的默认编码是需要编码成“GBK”

或者字符串加utf-8编码前缀,如:u"测试"

求大神解答。。。。。。

知道了谢谢!
解决的方法是加了一句
#pragma execution_character_set("utf-8")

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++调用python时怎样能传递中文字符串?
传递英文字符串的时候没问题。。传中文的时候就不能运行了rn求高手解答rn![图片说明](https://img-ask.csdn.net/upload/201605/06/1462536829_21716.jpg)rn![图片说明](https://img-ask.csdn.net/upload/201605/06/1462536815_384097.jpg)rn![图片说明](https://img-ask.csdn.net/upload/201605/06/1462536809_750873.jpg)rn![图片说明](https://img-ask.csdn.net/upload/201605/06/1462536803_502229.jpg)rn
python调用c语言的动态链接库时传递字符串参数的问题
最近在用python调用科大讯飞的接口进行语音识别工作,大概的过程是:用python加载科大讯飞提供的动态链接库,然后用这个动态链接库来进行语音识别。全部代码就不给出来了,这只给出困扰我的部分。 from ctypes import cdll cur = cdll.LoadLibrary('libmsc.so') MSPLogin = cur.MSPLogin ret = MSPLogin...
python调用C函数时的数组传递
python调用C函数时的数组互传 2019-4-5 引言:最近需要对一个算法进行并行加速,最初使用python实现的,也尝试了用python中的多线程进行加速,后来才发现,python中的threading受制于GIL,同时只能使用一个核进行运算,所以搞了半天最后发现多线程和非并行算法在运行时间上无差别。当然我也尝试了multiprocessing模块,但我那个算法不适合用多进程的方法加速,...
android 调用 C中文字符串
目前我android 通过 JNI 调用 C的字符串 英语 没什么问题,rn但中文 不知改如何弄。rn中文在 C 传入 JNI 生成 JString 时 爆掉 (因为是乱码,估计不行)rn因为 java 和 jni以及 C 的编码不一样, 我想求个流程。rnrnJNIEXPORT jstring JNICALL Java_com_taotektao_ni_JNIMyText_getTextElementStr(JNIEnv * env, jobject obj,int index)rnrn char string[256] = 0;rn jstring str;rn jchar * pjchar;rnrn GetTextElement(index,string); //c中获取字符串 streingrnrnrn str = (*env)->NewStringUTF(env,string); // 生成 jstring 时如果中文爆掉rnrnrn return str;rnrn
传递中文字符串的问题
是这样的:rn在液面之间传递参数时,由于传递了中文,所以要进行编码解码,于是在Web.config中写下了如下:rn rn rnrn但是我发现:在.cs页面传递的中文是进行编码了,而在.aspx中传递的中文却没有变化,也就是说:在后台代码页面通过Response.Redirect()方法 传递的参数进行了编码,[color=#FF0000]而在.aspx中通过却没有编码,因为在.aspx页面上是用Repeater绑定的,第一列是要链接的一列,[/color]如:rnRepeater中的链接列如下:rnrn &Time=<%# DataBinder.Eval(Container.DataItem,"Time")%>">rn <%#DataBinder.Eval(Container.DataItem,"Name")%>rn rn rn其中A是一个中文的参数,请问我该怎么样才能将A进行编码,然后再List.aspx页面进行使用啊?rn
golang调用C程序传递和返回字符串
项目中需要用Golang调用C生成密码,因此借机熟悉了一下cgo的一些用法。 基本用法网上已经有教程,但是关于字符串的传递的文章还不多,因此记录下。 1. 编写C文件,包含一个函数,函数接受字符串,同时返回字符数组。注意这里的返回的数组是malloc申请的,调用的时候需要释放。 //foo.c #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;g...
python调用python脚本时参数的传递
前言: 为什么有python调用python脚本呢?直接import不就行了吗?这里主要是用于远程调用时,这种调用在运维场景中是比较多的,类似下面这样的调用 server.py 远程调用-&gt; agent.py 这里有个问题,就是传递较多参数时,如何传递,比如传递字典,传递列表等,我们可以发现,如果直接传递,往往传过去后...
调用DLL的函数时怎样传递数组参数?
下面是VB调用C的WIN32动态连接库的程序,Source2字串传递正确,Source1作为数组怎么也传递不正确,请各位大虾指点。rnrnVB程序:rnrnPrivate Declare Function test Lib "F:\XUXI\C++6练习\test\Debug\test.dll" (ByRef Source1() As Long, ByVal Source2 As String) As BooleanrnPrivate Sub Command1_Click()rn Dim Source1(1 To 6) As Long, Source2 As Stringrnrn Source1(1) = 1: Source1(2) = 2: Source1(3) = 3: Source1(4) = 4: Source1(5) = 5: Source1(6) = 6:rn Source2 = "Basic"rn ret = test(Source1, Source2)rn If ret = True Thenrn Endrn Elsern rt = MsgBox("Dll函数错误", vbOKOnly)rn Endrn End IfrnEnd SubrnrnrnWIN32动态连接库:rn// test.cpprnrn#include "StdAfx.h"rn#include rn#include "test.h"rnvoid succode(double Source1[],char *Source2);rnrnBOOL APIENTRY DllMain( HANDLE hModule, rn DWORD ul_reason_for_call, rn LPVOID lpReservedrn )rnrn return TRUE;rnrnrnEXPORT BOOL CALLBACK test(double Source1[],char *Source2)rnrn succode(Source1,Source2);rn return TRUE;rnrnrnvoid succode(double Source1[],char *Source2)rnrn int i;rn for(i=0;i<6;i++)rn printf("%20.12f",Source1[i]);rnrnrntest.def:rn;test.def:Declares the module parameters for DLL.rnLIBRARY "test"rnDESCRIPTION 'test test'rnEXPORTSrn;Explicit export can go hererntestrnrn//test.hrnrn#define EXPORT extern "C" __declspec(dllexport)rnrnEXPORT BOOL CALLBACK test(double Source[],char *Source2);rnrn[img=F:\TEST.JPG][/img]rn
怎样在调用JS函数时传递控件ID?
我想通过DropDownList 的一个change事件调用JS的function,但调用的同时要传递该控件的ID和另外一个控件的ID,请问怎样传递另外一个控件的ID过去?rnrn我的代码是这样的:rnrnfunction Test(thisControl, otherControl)rnrn var age=document.getElementById("otherControl");rnrnrn rnrn另外一个控件:。rn
在python中调用C的函数时,能传递某个对象的指针吗?
在python中调用C的函数时,能传递某个对象的指针吗? 我想存储这个指针,然后再回掉,这个对象的方法.rnstatic PyObject* rnReceivePythonPointer(PyObject* self, PyObject* args) rn rn PyObject* temp=NULL ; rnrnrn //在这里得到对象的self指针,但是转换后得到了NULL(tmp)rn if ( PyArg_ParseTuple(args, "0", &tmp) ) rn rn //tmp rn rn rnrnclass foo: rn def __init__(self): rn ReceivePythonPointer(self) rn def Func(self): rn print 'Func' rnf1 foo rn我在python的,构造函数中,传递自己的指针给C++, 但是不知道怎么转化.rn大家谁给我点建议呢.谢谢了.
存储过程传递中文字符串的问题
我是在ASP中调用的存储过程:rnASP文件是UTF-8格式。rnrnCmdSP.Parameters.Append CmdSP.CreateParameter("@Searchkey", adVarChar, adParamInput, 200,"N'中国'")rnrn....rnrn调用后总是得不到结果rnrn存储过程rn------------------------------------------------------------rnALTER procedure [dbo].[SunSearch]rn@Searchkey nvarchar(1024), --查询的字符串rn@PageSize int=10, rn@PageCurrent int=1, rn@doCount int = 0 OUTPUTrnASrn....rnrnrn但如果是在Sql查询分析器里SunSearch N'中国' 就有结果,rnrn不知是什么原因!rn
url传递中文字符串 乱码问题
在做一个搜索系统的时候,遇到以下问题. rn直接在浏览器中参数带中文,在java servlet中无法接受,并转换为中文. rn举例如下: rn开启一个IE.输入如下: rnsearch/index.jsp?q=中国 rnrn然后接受 rnString q = request.getParameter("q");// rnSystem.out.println(q);//这样接受打印直接为乱码, rnrn然后尝试转换 rnrnq = new String(q.getBytes("iso-8859-1"), "GB18030");//字符转换 rnSystem.out.println(q);//结果打印出来还是乱码,无奈了,奇怪了,这种情况怎么办呢 rnrn搜索下了也没有找到答案... rnrn迷茫中,发现居然baidu 和google 也是这样传递参数,但不是乱码 rn例如,打开一个浏览器,直接输入 rnhttp://www.google.cn/search?hl=zh-CN&q=测试&meta=&aq=f rnrnhttp://www.baidu.com/s?wd=测试 rn可以接受到中文... rnrn前提是我无法对传递的参数进行预处理,因为对方是.net发过来的请求,我只能对这个中文参数进行转码rn恳求各位大牛给个指点,如何解决这个问题. n[b]问题补充:[/b]nrnrn前提是我无法对传递的参数进行预处理,因为对方是.net发过来的请求,我只能对这个中文参数进行转码 rnrnrn我只能对rnsearch/index.do?q=中国 rn接受.rn然后在action类里面进行对rnString q = request.getParameter("q");// rn参数进行处理。.rnrnrnn[b]问题补充:[/b]n再补充一点,我现在的服务器是websphere.  
传递中文字符串出现乱码
$.post("ssq.ashx","ssq":ajaxStr,function(data,status)rn if(status)rn alert(data);rn rn );rnrn接收ajaxStr 时有乱码 ,怎么解决?
关于中文字符串传递的问题
利用:rnbyte[] words=Encoding.Default.GetBytes(myChineseString);rnrn然后:rnIntPtr targetHwnd=GetFoucs();rnrnfor(int i-0;i
JNI传递中文字符串资料
JNI传递中文字符串资料
调用ajax传递中文乱码问题
解决方法 js代码 encodeURIComponent(encodeURIComponent($(&quot;#msgContent&quot;).val()))   java代码  URLDecoder.decode(URLDecoder.decode(sendMessage,&quot;utf-8&quot;),&quot;utf-8&quot;)
JSP 中文传递时出现问题
我想做一个翻页的功能,从数据库中读出数据然后只显示一部分内容,点击下一页显示第二页内容,在下一页的参数传递中有sql=select * from tiezi where title='"+tztitle+"' tztitle变量是html页面输入的一个中文,我用过很多方法但是在传到第二页的时候呀不就传不过去,要不就传过去就乱码 请教大家有什么更好的方法没?先谢谢拉
模板怎样传递字符串参数?
我的模板类需要传递一个字符串作为参数,但是我试验了很多不行啊,求教大虾。rn刚开始的时候,我这样写rntemplate class CMyTest....;rn然后再stdAfx.h中加入了rnCMyTest g_myTest;rn可是编译时报错说:rnerror C2993: 'strTest' : template parameter can never be initializedrnerror C2973: 'CMyTest' : invalid template argument 'strTest'rnrn然后我就改成:rntemplate class CMyTest....;rn再stdAfx.h中加入了rnchar* g_pchTest = "fdsjakfas";rnCMyTest g_myTest;rn然而编译说rnerror C2975: 'CMyTest' : invalid template argument for 'pchTest', constant expression expectedrnerror C2079: 'g_myTest' uses undefined class 'CMyTest<&char * g_pchTest>'rnrn然后我就改成rnchar g_pchTest[] = "fdsjakfas";rnCMyTest g_myTest;rn这两句如果不是加在stdafx.h中,就是可以用的,编译通过而且运行正常。但是现在我要求g_myTest在各个文件中都可以使用,这样当在其他文件中定义它时(使用extern)却会发生n多的错误。rn请教如何达到此目的。rnrn或者说如果想在类中定义一个类似g_myTest的成员变量,应该如何进行呢?根本问题还是如何传递一个字符串作为参数给模板。
字符串转义(函数传递字符串时)
用字符串表示标签时,其函数参数为字符串对象需要用到字符串转义符,否则无法使用。 (1)在单引号内 '&amp;lt;a onclick=&quot;details(\''+p.name+'\')&quot;&amp;gt;'+p.name+'&amp;lt;/a&amp;gt;'; (2)在双引号内 &quot;&amp;lt;a onclick='details(\&quot;&quot;+p.name+&quot;\&quot;)'&amp;gt;&quot;+p.name+&quot;&a
C函数中字符串的传递
自定义一个函数,但在main函数里接收到的都是乱码,请问怎么接收指针跟数组保存的字符串,谢谢。rnrnchar can(int i)rnrn char m[]="hello";rn char *n="world";rn if(i>=0)rn return m;rn elsern return n;rn
python处理中文字符串
使用tensorflow做聊天机器人时,处理数据时遇到一个问题,需要统计常用汉字,这样就需要读取中文字符串中的单个汉字并进行统计。而适用于英文字符串的方法并不适用于中文字符串,因此需要通过下述的方法来读取中文字符串中的单个汉字字符。 s = '今天天气非常好hhh' for i in s.decode('utf-8'): print i, #结果: # 今 天 天 气 非 常 好 ...
Python截取中文字符串
Python 截取字符串 题目描述 在GBK编码下,请编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但是要保证汉字不被截半个,同时忽略字符串中的数字后输出最终结果#-*-coding:gbk -*- import re def func(s,length): #g=filter(lambda x:x not in '0123456789',s) g='
python核心编程-传递调用内建函数
#!/usr/bin/env python # -*- coding: UTF-8 -*- def convert(func,seq): 'conv.sequence of numbers to same type' return [func(eachNum) for eachNum in seq]myseq = (123, 45.67, -6.2e8,999999999L)pri
python调用c++传递数组
INPUT = c_int * 4 # 实例化一个长度为2的整型数组 input = INPUT() # 为数组赋值(input这个数组是不支持迭代的) input[0] = 11 input[1] = 2 input[2] = 3 input[3] = 4 dll.teststring.restype = c_char_p # bytes(aaaa, encoding=&quot;utf-8&quot;) a = ...
调用 dll 时传递数组
vc:rnextern "C" int __stdcall aaaaa(char * bbb[])rnrnvb 中怎么传递参数给 aaaaarnrnPrivate Declare Function ccc Lib "D:\Work\aaaaa.dll" Alias "aaaaa" (ByVal argv As String) As Integerrnrn不对吧 :Prn
怎样截取中文字符串?
0xa0判定没有效果,一个汉字是两个字符吗?rnrnord单个字符有值,chr却无法将值组合输出为汉字。rnrn截取到的整段文字符串输出显示为乱码,单个字符截取输出的全是空白符。rnrn中文截取要怎么弄???rn
怎样加密中文字符串?
rn在英文中我可以用它转换为ASCII码然后进行加减运算,也可以转换回来,但中文是两个字节,我不懂用什么先谢谢各位了!听各位高手说,可用BYTE相加,但我不会?rn各位能给一个实例好吗?我学CB不久!rn
调用 dll 时传递数组参数
vc:rnextern "C" int __stdcall aaaaa(char * bbbbb[])rnrnvb:rnPrivate Declare Function ccc Lib "D:\Work\aaaaa.dll" Alias "aaaaa" (dddd As String) As Integerrnrn不对的说 :P
【求助】使用C++调用Python函数,传递中文字符串失败。
Python Version : 3.1.2rnrn...rnstd::string string1 = "u\"你好\"";rnpArgs = Py_BuildValue("(s)",string1.c_str());rnpFunc = PyObject_GetAttrString(pModule, "Test1");rn...rnrnpArgs = Py_BuildValue() 返回是空,但是如果传递string1 = "111","ddd"之类的字符肯定是没有问题。rnrn总结如下:"你好" 失败 "u\"你好\""失败 "ddd" 成功rnrn求各位大神,帮忙看一下是哪里出的问题~~~~~
Unity C#通过动态链接库调用C++传递中文字符串乱码问题。
我在C++端写了一个函数,参数有一个char* 类型的字符串表示文件名,函数里面通过调用win32API实现将这个文件名所指向的文件写入系统剪切板便于用户在别处手动粘贴。nC#脚本导入动态链接库的时候,形参声明为了byte[]类型,在传递实参时,使用System.Text.Encoding.ASCII.GetBytes将string类型转换成ASII字符序列。n如果动态链接库发布x64版本,中文的路径和文件名都正常,可是如果动态链接库发布86版本,传递过去的字符串如果带有中文路径就会出现乱码,而如果只是中文文件名,。目录是英文和数字,就正常。n据我所知系统位数不会影响字符串编码吧?请问有谁知道原因。
在python里调用webservice,如何传递字符串数组参数?
请问各位大虾,在python里调用用c#编写的webservice接口函数,如何传递字符串数组参数?
老生常谈的问题了:调用dll时字符串参数的传递问题
用C写的一个stdcall的dll,其中某个函数有几个字符串参数,类型定义都是LPCSTR。在使用的时候发现,大部分字符串参数可以正确传递,但是有一个参数却始终不能正确传递。我试过用strconv,还是不行。我知道碰到这个问题的人很多,一前曾经关注过一下,但是没有在意,现在终于轮到自己碰上了 :(rnrn希望能给一些比较详尽的答案,为什么会出现这样的问题?常用的解决办法?
调用webservice的方法时,传递字符串为什么出错?
我写了一个方法,向方法里传递字符,一调用就提示字符串格式不对,请高手指点rnrnpublic bool SendMsgEx(string ServerNum,int msgCount,string msgContent)rn rn if((msgCount<1)||(msgCount>10)||(msgContent.Length<10)||(ServerNum.Length<5))rn return false;rnelsern return true;rnrn调用时如下rnrnb=ls.SendMsgEx("23715015",2,"[src]13853029096[!src][msg]aa[!msg][src]13853229096[!src][msg]bb[!msg]");rnrn错误提示rnrnSystem.FormatException: 输入字符串的格式不正确。rn at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)rn at System.Int16.Parse(String s, NumberStyles style, IFormatProvider provider)rn at System.Convert.ToInt16(String value)
用VC写的DLL,VB调用,怎样传递字符串
VB里的一个字符串,怎样传递给VC。。rnrn如果VB里定义了一个包含字符串的结构体,又该怎样传递给VC。
python怎样输出中文?
python初学菜鸟,从mongodb数据库里提取出来的数据,print后数字和英文都正常显示,汉字显示成\u8f6c\u53d1\u4e86\这样的形式,怎么能让他显示中文呢?
Python:print字符串时的变量传递,format 方法
作用:传递参数  name = &quot;Xiao niu&quot; age = 30 hight = 178.50 print('我的名字是:{}\n我的年龄是:{}\n我的身高:{:.2f}'.format(name,age,hight)) 我的名字是:Xiao niu 我的年龄是:30 我的身高:178.50...
数组的传递和字符串的传递
数组可以作为方法的参数和返回值,参数传递规则:传递数组引用,即指向同一个数组,如果声明数组是方法的形式参数,调用时实际参数向形式参数传递数组引用,使得形式参数与实际参数引用指向同一个数组,因此,在方法体中,任何形式参数引用数组的修改都将作用于实际参数引用的数组元素。 当字符串作为参数传递时,方法体中任何操作都不会改变原字符串,只会新创建一个字符串,因为字符串一旦创建就不可变。...
C#调用C/C++的DLL实现字符串的传递
环境:VS2013 C/C++端:新建项目&amp;gt;&amp;gt; Visual C++ &amp;gt;&amp;gt; Win 32 控制台应用程序,后面注意选择 DLL、空项目。然后新建一个C/C++源程序文件,完成的DLL需要处理的功能,如:int dlltest(char *str, char *ans){……}str作为传入的字符串,ans作为传回的字符串,因内存实际在C#调用端分配,提供内存引用。 新建...
c#调用c++dll如何传递c字符串指针参数
c++ dll头文件如下:rn#include "extcode.h"rn#pragma pack(push)rn#pragma pack(1)rnrn#ifdef __cplusplusrnextern "C" rn#endifrnrn/*!rn * 读取所有磁盘rn */rnvoid __cdecl DrivesInfo(void);rn/*!rn * Send0rn */rnvoid __cdecl Send0(char Send02[], int32_t len);rnrnMgErr __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);rnrn#ifdef __cplusplusrn // extern "C"rn#endifrnrn#pragma pack(pop)rnrn我想用c#调用Send0方法,但总是报“尝试读取或写入受保护的内存。这通常指示其它内存已损坏。”,请问这个问题应该怎么解决?正确的调用方式是什么样的?
java调用c的dll出现的中文传递问题
我用java通过jni调用c的dll,如何正确的从java把中文传到c?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件