C#中字符串与字节数组的转换方式

一、编码(转成字节数组)GetBytes

1、ASII码:字符串中的每个字符用一个字节表示。

每个字符实际上只使用了7位,从00h-7Fh。只能表达128个字符。不能代表汉字,

byte[] b = Encoding.ASCII.GetBytes("yourstring");
Console.Write(string.Join("-", b.Select(p => p.ToString())));

//  得到:121-111-117-114-115-116-114-105-110-103

2、Unicode码:字符串中的每个字符用两个字节表示。

byte[] b = Encoding.Unicode.GetBytes("哈啊a1");

//  得到:200-84-74-85-97-0-49-0

3、简体中文:字符串中的每个中文字符用两个字节表示,其他字符用一个字节表示。

byte[] b = Encoding.GetEncoding("gb2312").GetBytes("哈啊a1");//繁体中文”big5”
Console.Write(string.Join("-", b.Select(p => p.ToString())));

//  得到:185-254-176-161-97-49

UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。 
不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。

二、解码(转成字符串):GetString、GetChars

Encoding.XXX.GetString(byte[] data,[,index,count]);

三、基于Base64(ASCII)编码的字符串与字节数组的转换

1、将指定的字符串(它将二进制数据编码为 Base64 数字)转换为等效的 8 位无符号整数数组。

byte[] bt=Convert.FromBase64String("字符串");

2、将 8 位无符号整数数组的值转换为其用 Base64 数字编码的等效字符串表示形式。

Convert.ToBase64String(byte[] data,[,index,count]);

四、字节数组与字符数组转换

1、字符数组转字节数组

Encoding.XXX.GetEncoder().GetBytes(char[],0.length,byte[],0,true)

2、字节数组转字符数组

Encoding.XXX.GetDecoder().GetChars(byte[],0.length,char[],0)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C# 16进制与字符串、字节数组之间的转换

    复制代码 代码如下: /// <summary> /// 字符串转16进制字节数组 /// </summary> /// <param name="hexString"></param> /// <returns></returns> private static byte[] strToToHexByte(string hexString) { hexString = hexString.Replace(&quo

  • C#实现字符串转换成字节数组的简单实现方法

    本文实例讲述了C#实现字符串转换成字节数组的简单实现方法.分享给大家供大家参考.具体实现方法如下: using System.Text; public static byte[] ConvertStringToByteArray(string stringToConvert) { return (new UnicodeEncoding()).GetBytes(stringToConvert); } 希望本文所述对大家的C#程序设计有所帮助.

  • c# 获取字符串的字节数的方法

    将字符串转换为ASCII编码数组,只要是中文字节码就是ASCII编码63即"?",所以可以由此来进行判断 复制代码 代码如下: class StringOP    {        /// <summary>        /// 获取中英文混排字符串的实际长度(字节数)        /// </summary>        /// <param name="str">要获取长度的字符串</param>      

  • C#(.net)中按字节数截取字符串最后出现乱码问题的解决

    前言 最近需要用到按字节数截取字符串.在网上找了很多方法. Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码.这样当然是乱码.尤其出现中文时候. 对这类数据处理当然要用统一的编码来处理.下面话不多说了,来一起看看详细的介绍吧 例子:1 string msg= Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(strcode)); 例子:2 string strc

  • c#将字节数组转成易读的字符串的实现

    1.这个方法在GpsNET.JT809Core里 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • c#获取字符串宽度的示例代码(字节数方法)

    复制代码 代码如下: /**////  ///   ///  ///  ///  ///  private ArrayList GetSeparateSubString(string mOrigianlString, int subStringCharNumber) {   ArrayList resultList = new ArrayList(); string tempStr = mOrigianlString; int charNumber = subStringCharNumber;

  • C#实现根据字节数截取字符串并加上省略号的方法

    本文实例讲述了C#按字节数截取字符串并在后面加上省略号...的方法,这是一个自定义的C#函数,函数的使用说明如下: <param name="origStr">原始字符串</param> <param name="endIndex">提取前endIdex个字节</param> <returns></returns> 函数代码如下: public static string GetSubStrin

  • C#中字符串与字节数组的转换方式

    一.编码(转成字节数组)GetBytes 1.ASII码:字符串中的每个字符用一个字节表示. 每个字符实际上只使用了7位,从00h-7Fh.只能表达128个字符.不能代表汉字, byte[] b = Encoding.ASCII.GetBytes("yourstring"); Console.Write(string.Join("-", b.Select(p => p.ToString()))); //  得到:121-111-117-114-115-116-

  • 简单谈谈Golang中的字符串与字节数组

    前言 字符串是 Go 语言中最常用的基础数据类型之一,虽然字符串往往都被看做是一个整体,但是实际上字符串是一片连续的内存空间,我们也可以将它理解成一个由字符组成的数组,Go 语言中另外一个与字符串关系非常密切的类型就是字节(Byte)了,相信各位读者也都非常了解,这里也就不展开介绍. 我们在这一节中就会详细介绍这两种基本类型的实现原理以及它们的转换关系,但是这里还是会将介绍的重点主要放在字符串上,因为这是我们接触最多的一种基本类型并且后者就是一个简单的 uint8 类型,所以会给予 string

  • Golang 字符串与字节数组互转的实现

    目录 一.字符串与字节数组? 二.详细代码 1.字节转字符串 2.字符串转字节数组 3.完整运行测试 总结 一.字符串与字节数组? 字符串是 Go 语言中最常用的基础数据类型之一,本质上是只读的字符型数组,虽然字符串往往都被看做是一个整体,但是实际上字符串是一片连续的内存空间. Go 语言中另外一个类型字节(Byte).在ASCII中,一个英文字母占一个字节的空间,一个中文汉字占两个字节的空间.英文标点占一个字节,中文标点占两个字节.一个Byte数组中的元素对应一个ASCII码. 二.详细代码

  • JavaScript中字符串与Unicode编码互相转换的实现方法

    本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法.分享给大家供大家参考,具体如下: 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际编程中请避免 // 字符串 str = "中文"; // 获取字符 char0 = str.charAt(0); // "中" // 数字编码值 code = str.charCodeAt(0); // 20013

  • python中字符串变二维数组的实例讲解

    有一道算法题题目的意思是在二维数组里找到一个峰值.要求复杂度为n. 解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字. 在用python定义一个二维数组时可以有list和numpy.array两种方式,看了几篇python中二维数组的建立的博客发现大多都是建立的初始化的二维数组,而我需要通过文件读取得到的是字符串,再把字符串转换为二维数组,找不到解决方法还是决定自己来转换. 首先,最开始的字符串输出如下,数字之间有空格 思路就是把先按换行符进行切片,再对每一行的字符再

  • 关于PHP中字符串与多进制转换函数的实例代码

    转换函数 /** * [字符串转换为(2,8,16进制)ASCII码] * @param string $str [待处理字符串] * @param boolean $encode [字符串转换为ASCII|ASCII转换为字符串] * @param string $intType [2,8,16进制标示] * @return string byte_str [处理结果] * @author alexander */ function strtoascii($str, $encode=true,

  • 浅谈javascript中字符串String与数组Array

    简单点就是string是字符(串)... 而array是数组...可以放数字啊,字符啊等一系列东东!!! 上个示例: 复制代码 代码如下: var str = "liuzhanqi"; document.write(str["length"]);//等价str.l ength  var str = string.fromcharcode(72, 101, 108, 108, 111, 33); document.write(str); //各整数作为unicode编

  • Jackson中json格式的字符串与对象的互相转换方式

    目录 json格式的字符串与对象的互相转换 Jackson 简介 jackson特点 json格式的字符串与对象的转换 Jackson进行json转对象,对象转json总结 JavaBean准备 json字符串和对象互转 json数组字符串和数组(集合)对象互转 json格式的字符串与对象的互相转换 Jackson 简介 Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json字符串和xml文档,同样也可以将json.xml转换成Java对象.Jackso

  • Json对象与Json字符串互转(4种转换方式)

    1>jQuery插件支持的转换方式: 复制代码 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 复制代码 代码如下: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换

随机推荐