C#中一些字符串操作的常用用法,c#编码和解码
//获得汉字的区位码
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes("啊");
int i1 = (short)(array[0] - ''\0'');
int i2 = (short)(array[1] - ''\0'');
//unicode解码方式下的汉字码
array = System.Text.Encoding.Unicode.GetBytes("啊");
i1 = (short)(array[0] - ''\0'');
i2 = (short)(array[1] - ''\0'');
//unicode反解码为汉字
string str = "4a55";
string s1 = str.Substring(0,2);
string s2 = str.Substring(2,2);
int t1 = Convert.ToInt32(s1,16);
int t2 = Convert.ToInt32(s2,16);
array[0] = (byte)t1;
array[1] = (byte)t2;
string s = System.Text.Encoding.Unicode.GetString(array);
//default方式反解码为汉字
array[0] = (byte)196;
array[1] = (byte)207;
s = System.Text.Encoding.Default.GetString(array);
//取字符串长度
s = "iam方枪枪";
int len = s.Length;//will output as 6
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//will output as 3+3*2=9
//字符串相加
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("i ");
sb.Append("am ");
sb.Append("方枪枪");
/////////////////////////////////////////////////////////////////////
string --> byte array
byte[] data=Syste.Text.Encoding.ASCII.GetBytes(string);
string --> byte
byte data = Convert.ToByte(string);
byte[]-->string
string string = Encoding.ASCII.GetString( bytes, 0, nBytesSize );
C# URL编码与解码
--------------------------------------------------------------------------------
最近做了一个网站统计分析系统,特别在搜索引擎分析那一部分费了不少时间,从已编码的URL中提取搜索关键词再进行解码。主流的搜索引擎中,URL所使用的字符编码都不同,比如,baidu默认是gb2312,google默认是utf-8。而百度用户可以指定utf-8编码。以这两个搜索引擎分析,URL可能是gb2312,也可能是utf-8。头大了!经过几番琢磨。得出一个暂时可以对付的简单方法。
以下是引用片段:
//oStr是UrlEncode编码字符串
Encoding gb2312 = Encoding.GetEncoding("gb2312");
相关文档:
编译:C程序直接编译成标准的二进制可执行的代码,但C#的源程序并不是被编译成二进制可执行的形式,而是一种中间语言(MSIL),类似JAVA中的字节码
结构体:C#的结构体与C++的结构体相似。但是C#的结构体与类是不同的,而且不支持继承。
预编译:C#中存在预编译的指令支持条件编译,警告,错误报告和编译行控制。其指令 ......
2009-12-24 21:15:41
TURBO C 2.0 文件分类
·原创·
网上下载TURBO C 2.0很混乱,一直想把她整理一下,使各个实例分开,各个不同部分分开。断断续续花了很长时间,到今天终于整理完了。发帖出来给大家看看。有需要的 ......
RT。先贴代码
C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Value_Ref_test1
{
class Program
{
static void Main(string[] args)
{
point a = new point (10,10) ;
point b = a;
......
这两个在一般情况下是相等的,但是系统处理机制上却有所不同。
""会在内存里划一块长度为0的存储空间,而String.Empty内存并不为它分配空间,所以无论性能还是速度上String.Empty都优于""。
曾经看过一篇判断字符串空值的性能文章,老外写的国人翻译,文章大意 ......