C#数字、16进制字符串和字节之间互转
转自http://luohonghong.blog.163.com/blog/static/78312058201242632055642/
如下:
、数字和字节之间互转 int num=;
byte[] bytes=BitConverter.GetBytes(num);//将int32转换为字节数组
num=BitConverter.ToInt32(bytes,);//将字节数组内容再转成int32类型 、将字符串转为16进制字符,允许中文 private string StringToHexString(string s, Encoding encode)
{
byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组
string result = string.Empty;
for (int i = ; i < b.Length; i++)//逐字节变为16进制字符
{
result += Convert.ToString(b[i], );
}
return result;
} 如: ///注意,一个中文转为utf-8占三个字节,英文占一个字节
System.Console.WriteLine(StringToHexString("中华人民共和国", System.Text.Encoding.UTF8)); 或使用 BitConverter.ToString(Encoding.UTF8.GetBytes("中华人民共和国")) 返回结果为XX-XX-XX 然后再去掉"-" 、将16进制字符串转为字符串 private string HexStringToString(string hs, Encoding encode)
{
string strTemp="";
byte[] b=new byte[hs.Length/];
for (int i = ; i < hs.Length / ; i++)
{
strTemp = hs.Substring(i * , );
b[i] = Convert.ToByte(strTemp, );
}
//按照指定编码将字节数组变为字符串
return encode.GetString(b);
} 如: string hexstring= StringToHexString("中华人民共和国", System.Text.Encoding.UTF8);
string content=HexStringToString(hexstring, System.Text.Encoding.UTF8) 、将byte[]转为16进制字符串
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = ; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
}
return returnStr;
} 、将16进制的字符串转为byte[]
private static byte[] strToToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % ) != )
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / ];
for (int i = ; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * , ), );
return returnBytes;
}
http://blog.csdn.net/kangningxu2008/article/details/6852593
这个写得也不错,可以参考。
C#数字、16进制字符串和字节之间互转的更多相关文章
- 字节流、字符串、16进制字符串转换__Java(转)
		
/** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转换 * @author:xk * @date:Ja ...
 - 字节流、字符串、16进制字符串转换__java
		
package com.dvn.li.main; /** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转 ...
 - BYTE数组与16进制字符串互转
		
//字节数组转换为HEX 字符串const string Byte2HexString(const unsigned char* input, const int datasize) { ]; ; j ...
 - 16进制字符串转数字(C/C++,VB/VB.net,C#)
		
这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到. 一.16进制字符串转数字 1.C/C+ ...
 - java中把字节数组转换为16进制字符串
		
把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...
 - C#//字节数组转16进制字符串
		
//字节数组转16进制字符串 private static string byteToHexStr(byte[] bytes,int length) { string returnStr = &quo ...
 - 字节数组(byte[])与16进制字符串转换
		
/// <summary> /// 转换扩展类 /// </summary> public static class ConvertExtend { /// <summa ...
 - Java中byte与16进制字符串的互相转换
		
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...
 - [转]Java中byte与16进制字符串的互相转换
		
Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...
 
随机推荐
- insert,extend
			
#insert s = ['8','9','sfd',('45','00'),{'01':'56'}] s0 = [] while 1 : extend = input("请输入要添加的内容 ...
 - C++动态申请内存 new T()与new T[]的区别
			
new与delete 我们知道,new和delete运算符是用于动态分配和撤销内存的运算符. new的用法 开辟单变量地址空间: i. 如 new int ; 指开辟一个存放数组的存储空间,返回一个指 ...
 - hadoop_exporter
			
1.下载安装go 1.下载二进制包:go1.4.linux-amd64.tar.gz. 2.将下载的二进制包解压至 /usr/local目录. tar -C /usr/local -xzf go1.4 ...
 - Analyzer原理
			
[常用分词器] SimpleAnalyzer StopAnalyzer WhitespaceAnalyzer StandardAnalyze [TokenStream] she is a studen ...
 - codeforces  369B
			
#include<stdio.h>//题没读懂,没做出来 int main() { int n,k,l,r,s,s1,m,a,i; while(scanf("%d%d% ...
 - hdu3592(差分约束)  (线性)
			
题意:一些牛按序号排成一条直线,有两种要求,A和B距离不得超过X,还有一种是A和B距离不得少于Y,问1和N可能的最大距离. 和poj那题一样,就是多了多组数据. #include<cstring ...
 - 【IntelliJ 】设置 IntelliJ IDEA 主题和字体的方法
			
2 主题修改 2.1 界面主题修改 如上图所示,依次点击Files -> Settings,进入如下界面: 标注1:主题选择区: 标注2:Darcula.IntelliJ 和 Windows,三 ...
 - Balance POJ - 1837  地推
			
Gigel has a strange "balance" and he wants to poise it. Actually, the device is different ...
 - [bzoj4826][Hnoi2017]影魔_单调栈_主席树
			
影魔 bzoj-4826 Hnoi-2017 题目大意:给定一个$n$个数的序列$a$,求满足一下情况的点对个数: 注释:$1\le n,m\le 2\cdot 10^5$,$1\le p1,p2\l ...
 - 【转】关于easyui tab  加载 js  ajax  不走后台的问题,  怕找不到  以防万一
			
一直以来群里里面很多人反应,在用tab加载界面的时候,界面里面的js不会执行.今天在此说明一下原因. 不管是window,dailog还是tab其实质最终都是继承了panel.panel有两种方式展示 ...