http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

楼主: 站长苏飞

[C#语言基础] C#中文和UNICODE字符转换方法

[复制链接]
发表于 2014-7-15 15:19:36 | 显示全部楼层
string str="\u8c01\u80fd";
textbox1.test=str;
这样就可以获取到值了


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-7-15 15:20:34 | 显示全部楼层
站长苏飞 发表于 2014-7-15 15:13
把那个第二行删除也可以啊。
站长苏飞 发表于 2014-4-8 08:21
这个方法很好


string str="\u8c01\u80fd";
textbox1.test=str;
这样就可以获取到值了
 楼主| 发表于 2014-7-15 15:23:20 | 显示全部楼层
sandy1231 发表于 2014-7-15 15:20
string str="\u8c01\u80fd";
textbox1.test=str;
这样就可以获取到值了

人家提供的就是一个方法,你只要调用就行了,没必要定义那么多东西
你现在是根据就没有使用别人的方法。你得到的是汉字吗?
发表于 2014-7-15 15:33:03 | 显示全部楼层
站长苏飞 发表于 2014-7-15 15:23
人家提供的就是一个方法,你只要调用就行了,没必要定义那么多东西
你现在是根据就没有使用别人的方法。 ...

我刚才测试了好久了
如果是直接定义的unicode编码,比如
string str="\u8C01\u80FD";
这样str的值直接就是汉字了,编译器已经自动转换好了。
所以这时候你再去调用他的方法,就为以为是这个方法转换成功的。这些调试一下就看得很清楚

他方法的参数,要是直接把Resource1.String1传过去,转换没效果。
要是直接传"\u8C01\u80FD",编译器已经自动转换好了。
他的方法有没效果调试下就知道了
 楼主| 发表于 2014-7-15 15:37:09 | 显示全部楼层
sandy1231 发表于 2014-7-15 15:33
我刚才测试了好久了
如果是直接定义的unicode编码,比如
string str="\u8C01\u80FD";

好吧服了,我不再说什么?以后你会懂的。
发表于 2014-7-15 15:47:11 | 显示全部楼层
站长苏飞 发表于 2014-7-15 15:37
好吧服了,我不再说什么?以后你会懂的。

string str="\u8C01\u80FD";
MessageBox.Show(str);
上面这段得出中文结果

string str=Resource1.String1;
MessageBox.Show(str);
上面这段得到的不是中文结果

MessageBox.Show(test(Resource1.String1));
上面这段得到的也不是中文结果

我说的是7楼的方法,不是说你的方法。
 楼主| 发表于 2014-7-15 15:49:06 | 显示全部楼层
sandy1231 发表于 2014-7-15 15:47
string str="\u8C01\u80FD";
MessageBox.Show(str);
上面这段得出中文结果

Resource1.String1你这是什么啊,具体内容是什么只查Unicode字符肯定可以转化的
发表于 2014-7-15 15:50:25 | 显示全部楼层
站长苏飞 发表于 2014-7-15 15:49
Resource1.String1你这是什么啊,具体内容是什么只查Unicode字符肯定可以转化的

Resource1.String1是资源文件里的字符串,里面是\u8C01\u80FD
 楼主| 发表于 2014-7-15 15:51:35 | 显示全部楼层
sandy1231 发表于 2014-7-15 15:50
Resource1.String1是资源文件里的字符串,里面是\u8C01\u80FD

那不应该吧,你取出来看看格式对不对。string str="\u8C01\u80FD"; 这个都可以,如果你的得到是正常的字符串不应该不行的,
你也取到Str里看看是什么应该就明白为什么不行了。
发表于 2014-7-15 16:02:29 | 显示全部楼层
站长苏飞 发表于 2014-7-15 15:51
那不应该吧,你取出来看看格式对不对。string str="\u8C01\u80FD"; 这个都可以,如果你的得到是正常的字 ...

格式是没有问题的,
string str="\u8C01\u80FD";
MessageBox.Show(str);
肯定可以,因为这是编译器转换的,调试的时候到了str那,显示的就是中文了。

至于我为什么要把编码写到Resource1.String1资源文件里,这是测试而已。
正常来说获取一个值肯定是动态的
比如string str= 变量
而不是string str="\u8C01\u80FD" 这样写死的
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-29 10:13

© 2014-2021

快速回复 返回顶部 返回列表