C# string类型和byte[]类型相互转换
string类型转成byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );
byte[]转成string:
string str = System.Text.Encoding.Default.GetString ( byteArray );
string类型转成ASCII byte[]:
("01" 转成 byte[] = new byte[]{ 0x30,0x31})
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );
ASCIIbyte[]转成string:
(byte[] = new byte[]{ 0x30, 0x31} 转成"01")
string str = System.Text.Encoding.ASCII.GetString ( byteArray );
byte[]转16进制格式string:
new byte[]{ 0x30, 0x31}转成"3031":
publicstaticstring ToHexString ( byte[] bytes ) // 0xae00cf => "AE00CF "
{string hexString = string.Empty;
if ( bytes != null )
{
StringBuilder strB = new StringBuilder ();
for ( int i = 0; i < bytes.Length; i++ )
{
strB.Append ( bytes[i].ToString ( "X2" ) );
}
hexString = strB.ToString ();
}return hexString;
}
16进制格式string 转byte[]:
publicstaticbyte[] GetBytes(string hexString, outint discarded)
{
discarded = 0;
string newString = "";
char c;// remove all none A-F, 0-9, charactersfor (int i=0; i<hexString.Length; i++)
{
c = hexString[i];if (IsHexDigit(c))
newString += c;
else
discarded++;
}// if odd number of characters, discard last characterif (newString.Length % 2 != 0){ discarded++;
newString = newString.Substring(0, newString.Length-1); }
int byteLength = newString.Length / 2;byte[] bytes = newbyte[byteLength];string hex;int j = 0;for (int i=0; i<bytes.Length; i++){
hex = new String(new Char[] {newString[j], newString[j+1]});
bytes[i] = HexToByte(hex); j = j+2;
}
return bytes;
}
转载于:https://www.cnblogs.com/Maxq/p/5953682.html
C# string类型和byte[]类型相互转换相关推荐
- (Redis_学习一)Redis关于string类型和hash类型数据操作
Redis关于string类型和hash类型数据操作 set name xiaohongyang // get name setnx name xiaohy get name setex name 1 ...
- int类型和byte类型的强制类型转换
今天在读<Java网络编程>这本书的第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意的地方.这个地方有点细节,不过就应该把这种细节把握住. 情况是这样的,讲到In ...
- BYTE类型和int类型相互转换
1 byte不是一种新类型,在C++中byte被定义的是unsigned char类型:但在C#里面byte被定义的是unsigned int类型 2 //int转byte 3 void intToB ...
- 02_NoSQL数据库之Redis数据库:string类型和hash类型
Strings类型及操作 String是最简单的类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或者序列化的对象. S ...
- 06-void类型和never类型
void类型和never类型都是ts新增的类型,这两者的共同点是都常见用于声明函数的返回值的类型,这里我们把它们两放在一起介绍有助于大家区分. void,表示函数返回值空,即undefined. ne ...
- (一) 常见异常的捕获 // // (1) 编写一个程序,分别生成ArrayIndexOutOfBoundsException类型和ArithmeticException类型的异常。
这道题不交,wdnmd public class Test6_1_zxj {// (一) 常见异常的捕获 // // (1) 编写一个程序,分别生成ArrayIndexOutOfBoundsExcep ...
- 数据库中的字段varchar类型和char类型的区别?
数据库中的字段varchar类型和char类型的区别? 目录 数据库中的字段varchar类型和char类型的区别?
- DATETIME类型和BIGINT 类型互相转换
项目中使用BIGINT来存放时间,以下代码用来转换时间类型和BIGINT类型 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========= ...
- *floa类型和long类型那个取值范围更大?
*floa类型和long类型那个取值范围更大? 作为基础知识.我们都知道float在内存中占用4个字节的空间,而long型占用8个字节的空间. 但float的取值范围是-3.403E38-3.403E ...
最新文章
- 浏览器从输入url到页面加载完成发生了什么
- 分布式架构知识体系必读
- PYG教程【一】入门
- 第13步 用户模块前端(Admin)
- C++11 FAQ中文版:std::function 和 std::bind
- r语言读取excel数据_R语言 | 更快的表格文件读取方法!
- SpringBoot系列(9):SpringBoot配置文件详解
- 《代码整洁之道》第14章 逐步改进 的代码片段
- win10u盘被写保护怎么解除_win10系统U盘被写保护解除的操作方法
- 双引号在python中什么意思_Python中单引号和双引号的作用
- Ubuntu 20.04/21.04 不能检测到外部HDMI显示器
- 文字转语音软件哪个好?看完这篇你就知道了
- R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用anova函数进行方差分析通过p值确认指定连续变量和风险值HR之间是否存在非线性关系
- 西门子博途软件TIA PORTAL不同版本安装在一台电脑上的个人总结
- MATLAB计算气象水文要素年内分配指数
- 射线检测算法在游戏中应用
- 深度森林deep-forest | ImportError: cannot import name ‘_joblib_parallel_args‘ from ‘sklearn.utils.fixes‘
- PHP-laravel框架学习笔记
- 如何让android软件隐形,如何将Dock栏的微信App设置为隐形状态
- 利用swftools将pdf转换为swf小例