在C#中怎样把一个Unicode型字符串转换成Ansi型字符串???

.NET技术 > C# [问题点数:20分,结帖人qibao77]
等级
本版专家分:65
结帖率 100%
等级
本版专家分:65
等级
本版专家分:1193
等级
本版专家分:65
等级
本版专家分:20
等级
本版专家分:65
qibao77

等级:

C#Unicode的字符串转换ANSI字符串?

Encoding e1 = Encoding.GetEncoding( 936 ); byte[] b1 = e1.GetBytes( "中文123" ); ... Buff = System.Text.Encoding.ASCII.GetBytes(str); string retStr = System.Text.Encoding.Default.GetStrin

字符串UnicodeANSI互转函数

(1)ASCII转UNICODE /*----------------------------------------------------------...ASCII字符串转换成UNICODE字符串 [input]: source=源ASCII字符串 [output]: obj=目标UNICODE字符串 */ void ConvertAnsiT

C#字符串unicode互相转换

/// /// 普通字符串UniCode字符串转换 /// public static class StringToUniCode { /// /// 字符串转为UniCode字符串 /// /// /// public static string St

C#调用C++DLL时的编码转换-编码、字符

最近项目,需要在C# 调用C++ 写的DLL,因为C# 默认的编码方式是Unicode,而调用的DLL规定只处理UTF8编码格式的字符串,DLL的输入参数类型char*被我Marshalbyte[],输出参数类型char**被我Marshal了string(C++...

sqlserverunicode数据类型和非unicode数据类型的区别

Unicode支持的字符范围更大。 存储 Unicode 字符所需要的... nchar 和 nvarchar 列最多可以有 4,000 个字符,而不象 char 和 varchar 字符那样可以有 8,000 个字符Unicode 常量使用 N 开头来指定:NA Unicode str

令人抓狂的编码问题

一直以来,编码问题都是比较令人纠结的,我自己也是,迷惑了好段时间。 首先这里推荐篇文章,

C#调用C++DLL,正确接收与传递中文字符方法

通常,c++ dll库字符编码方式都为utf-8,c#调用dll时,若遇到中文字符的接收与传递,会出现中文字符显示乱码与无法传递。 按照对应关系,若dll参数为char[],例如char[64] name;则对于的c#字符定义为: ...

C#调用C++字符集与类型对比

需要在C# 调用C++ 写的DLL,因为C# 默认的编码方式是Unicode,而调用的DLL规定只处理UTF8编码格式的字符串,DLL的输入参数类型char*被我Marshalbyte[],输出参数类型char**被我Marshal了string(C++和C#之间的...

平台调用P-INVOKE(二)--(封送字符串)

可以说新手使用P-INVOKE最开始的头疼就是C#和C++的字符串传递,由于不同编程语言对字符串处理的机制不同,因此导致托管代码的平台调用必须对字符串进行特殊的封送处理。本节将阐述以下几问题: (1)、C#的string...

C# 调用 C++ dll 函数 时传递字符串 需要注意的问题

1:C# 调用 返回 字符串 C++ native dll 函数 的注意事项: a:C++ DLL的返回值,安全的做法是分配一个全局 char 数组,要返回的 char * 复制到这个 char 数组,   char buff[255];  const char* __...

多字节字符转换成字符串

//MultiByteToWideChar用于将多字节字符串转换成字符串;函数WideCharToMultiByte将宽字符串转换成等价的多字节字符串。 //This function maps a character string to a wide-character (Unicode) string. char *...

C# C++ 字符串传递

可以说新手使用P-INVOKE最开始的头疼就是C#和C++的字符串传递,因为这里涉及到两问题。 第C#的string和C++的字符串首指针如何对应。 第二:字符串还有ANSIUNICODE(宽字符串)之分。   本文分三部分...

vs中ANSI编码和UNICODE编码及二者的兼容性问题

ANSI编码的字符集是多字符集,也就是每个字符的编码宽度不相等。 UNICODE编码的字符集是宽字符集,每个字符的编码都是两个字符。 有些操作系统仅支持多字符集,有些操作系统仅支持宽字符集,当然更多的操作系统是...

C#字节数组转换成字符串

该类提供了 bye[] GetBytes(string) 方法将字符串转换成字节数组,还提供了 string GetString(byte[]) 方法将C#字节数组转换成字符串。 System.Text.Encoding 类似乎没有可用的构造函数,但我们可以找到几默认的 ...

C#调用C++的Dll(参数和返回值為char* TCHAR*)

想要在C#和C++之间进行字符串传递会涉及到两件事情: 1.C#的string和C++的字符串首指针要怎么对应. 2.字符串分为ANSIUNICODE. C++ 头文件接口: //FilePolice.h //參數和返回值為Ansi extern "C" __declspec...

BSTR数据类型

多数支持COM的语言都没法...BSTR数据类型是一个UNICODE,固定字节长度,且以NULL结尾的字符串,所有的COM兼容语言都 可以使用。虽然所有的COM兼容的语言都能使用BSTR,但它们都以自己的方式操作。VB程序员用下面的代码

c#数据类型转换,BYTE,float,double,char类型间的转换方法

C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期数据的...

让VS调试器正确显示UTF-8字符串

默认的, VC调试器只能正常显示ANSI字符串UNICODE字符串, 而UTF-8字符串及其他格式则无法显示 这里无需编写插件及修改配置文件,只需要将要显示的字符串拉到Watch,并变量后面添加,s8即可显示  -->  ...

Unicode字符与多字节字符转换

一个就是宽字符到多字节字符转换函数,函数原型如下: <br />int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, ...

C#字节数组转换成字符串<转>

C#字节数组转换成字符串如果还想从 System.String 类找到方法进行字符串和字节数组之间的转换,恐怕你会失望了。为了进行这样的转换,我们不得不借助另一个类:System.Text.Encoding。该类提供了 bye[] GetBytes...

字符串转USHORT数组的函数

今天遇到了一个问题,涉及到如何将一个char *类型的字符串转换成一个USHORT数组的问题。开发环境是VC++6。描述如下: char *一般保存的是Ansi标准字符串,即西文字符占用1Byte,汉语等东亚文字占用2Byte,长度是...

C#类型转换总结

C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期数据的...

VC++的Unicode编程(经典之作,交流传薪)

VC++的Unicode编程作者:韩耀旭原文链接:http://www.vckbase.com/document/viewdoc/?id=1733...每ASCII字符占用1字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,

CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化

常量字符串ansiunicode的区分是由宏_T来决定的。但是用_T( "abcd ")时, 字符串 "abcd "就会根据编译时的是否定_UNICODE来决定是char* 还是 w_char*。 同样,TCHAR 也是相同目的字符宏。

LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化

首先编译程序时经常会遇到这种问题:错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR” 1、觉得很烦,一般的做法就是不管三七二十在字符串前面加一‘L’...

带你玩转Visual Studio——带你理解多字节编码与Unicode

上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime ...本篇文章我们将继续讲解C++开发容易混淆的另一个概念——多字节字符集与Unicode字符集。多字节字符与宽字节字符char与wchar_t我们知道C++基本数据类型

C# 字符串与字节数组相互转换

如果直接从System.String类...这类型提供了将C#字符串转换成字节数组的方法,也提供了将C# 字节数组转换成字符串。System.Text.Encoding类型的默认构造函数不太可用,不过该类型提供了几种默认的静态属性。如下: //

C#中string字段的区别 (char、varchar、nchar、nvarchar)

对于程序的string字段,SQLServer有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库,对这四种类型往往比较模糊,这里做一下对比。 定长或变长 所谓定长就是...

MultiByteToWideChar和WideCharToMultiByte用法详解

部分参考: ...这两函数是由Windows提供的转换函数,不具有通用性 C语言提供的转换函数为mbstowcs()/wcstombs() 、函数简单介绍 涉及到的头文件: 函数所在头文件:windows.h #inc

char varchar nchar nvarchar 四者的区别是什么(为何SQL Server自动给字符串末尾加空格)

本着低碳的原则将几变量声明为nchar,结果发现尾巴上每次都多一大串空格,C#中不得不多次Trim劳心费神易出错。上网查原来四种字符串看似相近其实讲究很多,其中以本帖最为全面,特此转发。原帖:...

相关热词 c# 获取泛型参数 c# 获取引用变量地址 c# 加载系统自带的字体 c# unity 结构体 c# 路径提示拒绝访问 c# 换行连接 c# 创建接口 c# 取绝对值函数 c# 打印机首选项 c# json通用类