C# byte[]数组和string的互相转化 (四种方法)
C# byte[]数组和string的互相转化 (四种方法)
第一种 [csharp] view plain copy string str = System.Text.Encoding.UTF8.GetString(bytes);
byte[] decBytes = System.Text.Encoding.UTF8.GetBytes(str);
同样的,System.Text.Encoding.Default,System.Text.Encoding.ASCII也是可以的。还可以使用System.Text.Encoding.UTF8.GetString(bytes).TrimEnd('\0')给字符串加上结束标识。 第二种 [csharp] view plain copy string str = BitConverter.ToString(bytes);
String[] tempArr = str.Split('-');
byte[] decBytes = new byte[tempArr.Length];
for (int i = ; i < tempArr.Length; i++)
{
decBytes[i] = Convert.ToByte(tempArr[i], );
}
这种方法会给字符串加上 '-' 连字符,并且没有函数转换回去。所以需要手动转换为bytes。 第三种 [csharp] view plain copy string str = Convert.ToBase64String(bytes);
byte[] decBytes = Convert.FromBase64String(str);
这种方法简单明了,完美无问题。需要注意的是,转换出来的string可能会包含 '+','/' , '=' 所以如果作为url地址的话,需要进行encode。 第四种 [csharp] view plain copy string str = HttpServerUtility.UrlTokenEncode(bytes);
byte[] decBytes = HttpServerUtility.UrlTokenDecode(str);
这种方法会自动编码url地址的特殊字符,可以直接当做url地址使用。但需要依赖System.Web库才能使用。
C# byte[]数组和string的互相转化 (四种方法)的更多相关文章
- PHP从数组中删除元素的四种方法实例
PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...
- JavaScript数组去重的四种方法
今天,洗澡的想一个有趣的问题,使用js给数组去重,我想了四种方法,虽然今天的任务没有完成,5555: 不多说,po代码: //方法一:简单循环去重 Array.prototype.unique1 ...
- java byte数组与String互转
java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String ...
- Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string
//開始由于要实现跨平台.考虑过用curl封装c++的dll(android *.so)的方式,在c#Dllimport实现 //后来发现Unity3D本身支持http协议.且face++的api都是 ...
- byte[]数组转换string类型
byte[] OutData = new byte[2048];//交易返回数据 string pBusiCardInfoStr = Encoding.Default.GetString(OutDat ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- JS 中检测数组的四种方法
今天和大家分享一下 JS 中检测是不是数组的四种方法,虽然篇幅不长,不过方法应该算是比较全面了. 1. instanceof 方法 instanceof 用于检测一个对象是不是某个类的实例,数组也是一 ...
- 【Java必修课】判断String是否包含子串的四种方法及性能对比
1 简介 判断一个字符串是否包含某个特定子串是常见的场景,比如判断一篇文章是否包含敏感词汇.判断日志是否有ERROR信息等.本文将介绍四种方法并进行性能测试. 2 四种方法 2.1 JDK原生方法St ...
- 判断数组的方法/判断JS数据类型的四种方法
参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...
随机推荐
- 通过crt修改数据库中的存储过程
mysql -u idc_user -pidc_user123 通过crt修改数据库中的存储过程PRO_RET_HD_TZXW STEP1:在crt中查看数据库中的存储过程PRO_RET_HD_TZX ...
- 数据结构——串(KMP)
空串:长度为0的串 空格串:由一个或多个空格组成的串 串常用的3种机内表示方法: 定长顺序存储表示: 用一组地址连续的存储单元存储串的字符序列,每一个串变量都有一个固定长度的存储区,可用定长数组来描述 ...
- UE4 多人网络对战游戏笔记
1.给物体施加一个径向力 定义一个径向力: URadialForceComponent* RadialForceComp; 在构造函数里赋默认值: RadialForceComp = CreateDe ...
- yarn安装及node升级
ERROR: root@debian:/home/test/keygen-radio-master/scripts# npm install -g yarn npm WARN engine yarn@ ...
- mysql安装好之后,查询显示MySQL不是内部命令或外部命令问题
使用cmd来调用MySQL的时候提示错误,错误是说MySQL不是内部或外部命令. 1.如图所示,遇到的mysql命令错误. 2.现在就要查询mysql是安装在哪,我们在计算机里面搜索mysql.exe ...
- hadoop启动报错:localhost: ssh: Could not resolve hostname localhost
hadoop启动journalnode时报错:localhost: ssh: Could not resolve hostname localhost: Temporary failure in na ...
- python入门(九):目录操作
getcwd()当前目录路径 >>> import os>>> os.getcwd()'E:\\' chdir()切换目录>>> os.chdir ...
- 区块链入门(4)Truffle创建项目,编译,及项目部署
上一章的结尾说这一次要讲编写一个智能合约部署到测试网络集群中,并进行交易,但我自己越看越觉得内容挺多的.先讲下truffle的项目创建,编译和部署的问题,然后再做上面说的事情吧. truffle是一套 ...
- Linux中JDK安装教程
JDK在官网下载,也可以从某个文件服务器进行下载. 1.在usr目录创建一个java文件夹: mkdir java 2.进入刚创建的java文件夹,下载jdk: cd /usr/java 例如: wg ...
- JSON中的parse和Stringify方法
JSON.parse(str) 将字符串解析成对象 var str = '{"name":"huangxiaojian","age":&q ...