源自C#与.NET程序员面试宝典。

如何在Byte[]和String之间进行转换?
比特(b):比特只有0 1,1代表有脉冲,0代表无脉冲。它是计算机物理内存保存的最基本单元。
字节(B):8个比特,0—255的整数表示
编码:字符必须编码后才能被计算机处理。早期计算机使用7为AscII编码,为了处理汉字设计了中文简体GB2312和big5

字符串与字节数组之间的转换,事实上是现实世界的信息和数字世界信息之间的转换,势必涉及到某种编码方式,不同的编码方式将导致不同的转换结果。C#中常使用System.Text.Encoding来管理常用的编码。下面直接上代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ByteToString
{
class Program
{
static void Main(string[] args)
{
string str = "鞠哥真帅!"; //使用UTF编码。。。
Byte[] utf8 = StrToByte(str, Encoding.UTF8);
//估计C#当时设计时没有中文简体,这是后来中国搞的?
Byte[] gb2312 = StrToByte(str,Encoding.GetEncoding("GB2312")); Console.WriteLine("这是UTF8(鞠哥真帅),长度是:{0}",utf8.Length);
foreach (var item in utf8)
{
Console.Write(item);
} Console.WriteLine("\n\n这是gb2312(鞠哥真帅),长度是:{0}",gb2312.Length);
foreach (var item in gb2312)
{
Console.Write(item);
} //用utf8编码的字节数组转换为str
string utf8Str = ByteToStr(utf8,Encoding.UTF8);
string gb2312Str = ByteToStr(gb2312,Encoding.GetEncoding("GB2312")); Console.WriteLine("\n\nutf8: {0}",utf8Str);
Console.WriteLine("gb2312: {0}",gb2312Str);
Console.ReadKey(); } //C#通常使用System.Text.Encoding编码 //字符串转数组
static Byte[] StrToByte(string str, Encoding encoding)
{
return encoding.GetBytes(str);
} //数组转换字符串
static String ByteToStr(Byte[] bt,Encoding encoding)
{
return encoding.GetString(bt);
} }
}

最新文章

  1. Framework7--Test
  2. 如何调试R程序(转载)
  3. PostgreSQL中使用外部表
  4. QQ聊天信息提取
  5. discuz 模拟批量上传附件发帖
  6. PowerDesiger 15逆向生成工程E-R图及导出word表格
  7. ios应用内跳转到appstore里评分
  8. CSS+DIV+HTML(一)--HTML总结
  9. MyEclipse 显示行标
  10. [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
  11. Jmeter(GUI模式)教程
  12. C# MVC+EF—结构搭建
  13. [NOIP2005普及组]采药(01背包)
  14. Mybatis 系列3-结合源码解析properties节点和environments节点
  15. 通过16道练习学习Linq和Lambda
  16. ubuntu1604安装tensorflow
  17. X64下的虚拟地址到物理地址的转换
  18. protobuf 协议 windows 下 java 环境搭建
  19. [入门阅读]怎样在android中解析JSON
  20. 如鹏网学习笔记(十五)ASP.NET MVC核心基础笔记

热门文章

  1. Android之TextView组件学习
  2. X窗口系统的协议和架构
  3. Analysis Guidelines
  4. easyui的datagrid组件,如何设置点击某行不会高亮该行的方式
  5. C#程序集使用强名字(Strong Name)签名/强名称签名
  6. Linux命令行及Vim简单学习记录
  7. 【转】Fragment和Activity
  8. 计数方法,博弈论(扫描线,树形SG):HDU 5299 Circles Game
  9. struts2错误:The Struts dispatcher cannot be found.
  10. Interviews3D: APlatform for Interactive Handing of Massive Data Sets 读后感