社区
C#
帖子详情
.Net的默认编码方式是什么?
LMTZ
2006-08-29 11:03:28
就是说实例一个string对象,这个字符串在内存中是按照什么编码方式储存的?
是Unicode嘛?如何查看其编码方式?
...全文
2110
30
打赏
收藏
.Net的默认编码方式是什么?
就是说实例一个string对象,这个字符串在内存中是按照什么编码方式储存的? 是Unicode嘛?如何查看其编码方式?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diffmaker
2006-08-30
打赏
举报
回复
应该与你安装的操作系统有关吧
LMTZ
2006-08-30
打赏
举报
回复
.Net中, sizeof(char)的结果是2,
可以证明,char的编码方式是unicode,
我想string也一定是同样的编码方式。
如果换成其他编码方式,没有任何意义。
各位的看法呢?
LMTZ
2006-08-30
打赏
举报
回复
To 楼上:
从你贴过来的代码中可见,编码方式在进行字符转换时是必须的。
你的方法先是把字符串转成Unicoide, 然后根据Unicode的编码规则计算字节,
这便得出了结果。
那么如果我们知道string在内存中的编码方式,我们就可以忽略
System.Text.Encoding.Unicode.GetBytes(c,i,1);
直接对QJstr.ToCharArray();的返回值进行处理不就可以了吗?
你的代码最后一句:
c[i]=System.Text.Encoding.Unicode.GetChars(b)[0];把Unicode字符传给了 c[i],
string strNew=new string(c);最后又根据Unicode字符实例了一个string.
这个操作让我觉得string中就是unicode编码。
jingtao_zhou
2006-08-30
打赏
举报
回复
当然有用了!
比如你想进行全角半角转换,就需要知道内存中的编码方式,
然后根据该编码方式的规则进行转换
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
字符串在内存里应该是一样的,没什么编码的区别吧
半角"("与全角的"("是不同的字符
网上搜索了一下c#的
半角转全角:
c="hello World".ToCharArray();
for (int i=0;i<c.Length;i++)
{
byte[] b=System.Text.Encoding.Unicode.GetBytes(c,i,1);
if (b.Length= =2)
{
if (b[1]= =0)
{
b[0]=(byte)(b[0]-32);
b[1]=255;
c[i]=System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew=new string(c);
全角转半角:
string QJstr = "hello,Amigo quanjiao字符";
char[] c=QJstr.ToCharArray();
for (int i=0;i<c.Length;i++)
{
byte[] b=System.Text.Encoding.Unicode.GetBytes(c,i,1);
if (b.Length= =2)
{
if (b[1]= =255)
{
b[0]=(byte)(b[0]+32);
b[1]=0;
c[i]=System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew=new string(c);
当然如果只是转换少量的,上面应该没有问题
如果是字符串很大,建议用正则转
fd7893
2006-08-30
打赏
举报
回复
对不起 应该是 UnicodeEncoding.Default.EncodingName
我的是GB2312
andylauhai
2006-08-30
打赏
举报
回复
UTF-8
fd7893
2006-08-30
打赏
举报
回复
用 UnicodeEncoding.Default.ToString() 看一下
LMTZ
2006-08-30
打赏
举报
回复
当然有用了!
比如你想进行全角半角转换,就需要知道内存中的编码方式,
然后根据该编码方式的规则进行转换
Ivony
2006-08-30
打赏
举报
回复
有什么用么?
yjf_1982
2006-08-30
打赏
举报
回复
utf-8
terryghz
2006-08-30
打赏
举报
回复
Unicode!!!char类型可以用Unicode来表示,也可以用4位16进制数表示,而string是一系列Unicode表示的char组成~~~
美福种田伯
2006-08-30
打赏
举报
回复
UTF-8
interboy
2006-08-30
打赏
举报
回复
utf-8吧
renmasheshou
2006-08-30
打赏
举报
回复
UTB-8
冷月孤峰
2006-08-30
打赏
举报
回复
Unicode!
LMTZ
2006-08-30
打赏
举报
回复
To alien54155415() :
System.Text.Encoding.Default 是获取操作系统的默认编码方式,
我想知道的是.Net框架之中string类型在内存中的编码方式。
To laladeng() :
你说的我同意:Java中,string类型好像是Unicode编码,我觉得.Net中也应该是。
这方面的文档或者资料能提供吗?
jack_man_
2006-08-30
打赏
举报
回复
UTF-8
破碎的脸
2006-08-30
打赏
举报
回复
与系统有关吧。。。。Unicode也不一定D。。。。。因为菜鸟我在做某些东东的时候出现了乱码。。。。。
fattycat
2006-08-30
打赏
举报
回复
mark
www_123du_com
2006-08-30
打赏
举报
回复
http://blog.csdn.net/www_123du_com/archive/2006/08/24/1114266.aspx
加载更多回复(9)
ASP
.NET
Core 基础 部署至Linux
主要内容 第一讲什么是ASP
.NET
Core 第二讲 ASP
.NET
Core 基本架构 第三讲 ASP
.NET
Core OWIN 第四讲 创建ASP
.NET
Core第一个程序 第五讲 ASP
.NET
Core 运行静态文件1 第六章 ASP
.NET
Core运行
默认
文件 第七讲 ASP...
3万字通俗易懂告诉你什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core?
通俗易懂,什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core? 什么是
.NET
?什么是
.NET
Framework?本文将从上往下,循序渐进的介绍一系列相关
.NET
的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列
.NET
的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的相关核心组成、Windows下托管程序运行概念...
通俗易懂,什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core?
.Net
Web开发技术栈...
通俗易懂,什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core? 什么是
.NET
?什么是
.NET
Framework?本文将从上往下,循序渐进的介绍一系列相关
.NET
的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列
.NET
的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的相关核心组成、Windows下托管程序运...
通俗易懂,什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core?
什么是
.NET
?什么是
.NET
Framework?本文将从上往下,循序渐进的介绍一系列相关
.NET
的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列
.NET
的相关概...
通俗易懂,什么是
.NET
?什么是
.NET
Framework?什么是
.NET
Core?--详解
.net
详解
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章