最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# string轉(zhuǎn)換為幾種不同編碼的Byte[]的問題解讀

 更新時間:2023年02月28日 16:18:25   作者:爬行的菜鳥  
這篇文章主要介紹了C# string轉(zhuǎn)換為幾種不同編碼的Byte[]的問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

C# string轉(zhuǎn)換為幾種不同編碼的Byte[]

1.string–>Byte[]轉(zhuǎn)換 

①String類型轉(zhuǎn)換為UTF8編碼的Byte[]:

string strvalue ="00123aabbAA$%";
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(strvalue);

②string類型轉(zhuǎn)換為ASCII編碼的Byte[]:

string strvalue ="00123aabbAA$%";
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes (strvalue);

③string類型轉(zhuǎn)換為GB18030編碼的Byte[];

string strvalue ="00123aabbAA$%":
byte[] byteArray = System.Text.Encoding.GetEncoding("GB18030").GetBytes (strvalue);

2.Byte[]–>string轉(zhuǎn)換 

①UTF8編碼的Byte[]轉(zhuǎn)換為String類型:

byte[] byteArray = new byte[100];
String str = System.Text.Encoding.UTF8.GetString ( byteArray );

②ASCII編碼的Byte[]轉(zhuǎn)換為String類型:

byte[] byteArray = new byte[100];
String str = System.Text.Encoding.ASCII.GetString ( byteArray );

③GB18030編碼的Byte[]轉(zhuǎn)換為String類型:

byte[] byteArray = new byte[100];
String str = System.Text.Encoding.GetEncoding("GB18030").GetString ( byteArray );

下面對上面的類型轉(zhuǎn)換

舉例說明:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TRansfer
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ?{
? ? ? ? ? ? string strvalue = "0aA$%#@!%^&*_+-=中國";
? ? ? ? ? ? byte[] byteArray1 = System.Text.Encoding.UTF8.GetBytes(strvalue);
? ? ? ? ? ? byte[] byteArray2 = System.Text.Encoding.ASCII.GetBytes(strvalue);
? ? ? ? ? ? byte[] byteArray3 = System.Text.Encoding.GetEncoding("GB18030").GetBytes(strvalue);
? ? ? ? ? ? byte[] byteArray11 = new byte[100];
? ? ? ? ? ? String str1 = System.Text.Encoding.UTF8.GetString(byteArray1);
? ? ? ? ? ? String str2 = System.Text.Encoding.ASCII.GetString(byteArray2);
? ? ? ? ? ? String str3 = System.Text.Encoding.GetEncoding("GB18030").GetString(byteArray3);
? ? ? ? ? ? string st1 = "";
? ? ? ? ? ? foreach (byte b in byteArray1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? st1 += b.ToString();
?
? ? ? ? ? ? }
? ? ? ? ? ? string st2 = "";
? ? ? ? ? ? foreach (byte b in byteArray2)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? st2 += b.ToString();
? ? ? ? ? ? }
? ? ? ? ? ? string st3 = "";
? ? ? ? ? ? foreach (byte b in byteArray3)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? st3 += b.ToString();
? ? ? ? ? ? }
?
? ? ? ? ? ? Console.WriteLine("{0} ?{1}", st1, str1);
? ? ? ? ? ? Console.WriteLine("{0} ?{1}", st2, str2);
? ? ? ? ? ? Console.WriteLine("{0} ?{1}", st3, str3);
? ? ? ? }
? ? }
}

測試結(jié)果如下,對英文字符的翻譯都是一致,各種不同的編碼的差別主要體現(xiàn)在中文上面:

C#分享幾種常用的編碼轉(zhuǎn)換,base64、MD5、string

C# Base64編碼

class Base64Helper
{
? ? /// <summary>
? ? /// Base64加密,采用utf8編碼方式加密
? ? /// </summary>
? ? /// <param name="source">待加密的明文</param>
? ? /// <returns>加密后的字符串</returns>
? ? public static string Base64Encode(string source)
? ? {
? ? ? ? return Base64Encode(Encoding.UTF8, source);
? ? }

? ? /// <summary>
? ? /// Base64加密
? ? /// </summary>
? ? /// <param name="encodeType">加密采用的編碼方式</param>
? ? /// <param name="source">待加密的明文</param>
? ? /// <returns></returns>
? ? public static string Base64Encode(Encoding encodeType, string source)
? ? {
? ? ? ? string encode = string.Empty;
? ? ? ? byte[] bytes = encodeType.GetBytes(source);
? ? ? ? try
? ? ? ? {
? ? ? ? ? ? encode = Convert.ToBase64String(bytes);
? ? ? ? }
? ? ? ? catch
? ? ? ? {
? ? ? ? ? ? encode = source;
? ? ? ? }
? ? ? ? return encode;
? ? }

? ? /// <summary>
? ? /// Base64解密,采用utf8編碼方式解密
? ? /// </summary>
? ? /// <param name="result">待解密的密文</param>
? ? /// <returns>解密后的字符串</returns>
? ? public static string Base64Decode(string result)
? ? {
? ? ? ? return Base64Decode(Encoding.UTF8, result);
? ? }

? ? /// <summary>
? ? /// Base64解密
? ? /// </summary>
? ? /// <param name="encodeType">解密采用的編碼方式,注意和加密時采用的方式一致</param>
? ? /// <param name="result">待解密的密文</param>
? ? /// <returns>解密后的字符串</returns>
? ? public static string Base64Decode(Encoding encodeType, string result)
? ? {
? ? ? ? string decode = string.Empty;
? ? ? ? byte[] bytes = Convert.FromBase64String(result);
? ? ? ? try
? ? ? ? {
? ? ? ? ? ? decode = encodeType.GetString(bytes);
? ? ? ? }
? ? ? ? catch
? ? ? ? {
? ? ? ? ? ? decode = result;
? ? ? ? }
? ? ? ? return decode;
? ? }
}

C# 文件與二進(jìn)制流

? ? /// <summary>
? ? /// 將文件轉(zhuǎn)換為byte數(shù)組
? ? /// </summary>
? ? /// <param name="path">文件地址</param>
? ? /// <returns>轉(zhuǎn)換后的byte數(shù)組</returns>
? ? public static byte[] File2Bytes(string path)
? ? {
? ? ? ? if (!System.IO.File.Exists(path))
? ? ? ? {
? ? ? ? ? ? return new byte[0];
? ? ? ? }

? ? ? ? FileInfo fi = new FileInfo(path);
? ? ? ? byte[] buff = new byte[fi.Length];

? ? ? ? FileStream fs = fi.OpenRead();
? ? ? ? fs.Read(buff, 0, Convert.ToInt32(fs.Length));
? ? ? ? fs.Close();

? ? ? ? return buff;
? ? }

? ? /// <summary>
? ? /// 將byte數(shù)組轉(zhuǎn)換為文件并保存到指定地址
? ? /// </summary>
? ? /// <param name="buff">byte數(shù)組</param>
? ? /// <param name="savepath">保存地址</param>
? ? public static void Bytes2File(byte[] buff, string savepath)
? ? {
? ? ? ? if (System.IO.File.Exists(savepath))
? ? ? ? {
? ? ? ? ? ? System.IO.File.Delete(savepath);
? ? ? ? }

? ? ? ? FileStream fs = new FileStream(savepath, FileMode.CreateNew);
? ? ? ? BinaryWriter bw = new BinaryWriter(fs);
? ? ? ? bw.Write(buff, 0, buff.Length);
? ? ? ? bw.Close();
? ? ? ? fs.Close();
? ? }

C# MD5加密

? ? public static string MD5Encrypt(string strText)
? ? {
? ? ? ? MD5 md5 = new MD5CryptoServiceProvider();
? ? ? ? byte[] result = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strText));
? ? ? ? return System.Text.Encoding.Default.GetString(result);
? ? }
? ? private static string GetMD5String(string sign)
? ? {
? ? ? ? MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
? ? ? ? byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(sign));
? ? ? ? StringBuilder sb = new StringBuilder();
? ? ? ? for (int i = 0; i < encryptedBytes.Length; i++)
? ? ? ? {
? ? ? ? ? ? sb.AppendFormat("{0:x2}", encryptedBytes[i]);
? ? ? ? }
? ? ? ? return sb.ToString();
? ? }

C# string和byte[]

string類型轉(zhuǎn)成byte[]:

byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );

byte[]轉(zhuǎn)成string:

string str = System.Text.Encoding.Default.GetString ( byteArray );

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺析C#更改令牌ChangeToken

    淺析C#更改令牌ChangeToken

    這篇文章主要介紹了C#更改令牌ChangeToken,文中運用大量代碼講解的非常詳細(xì),感興趣的小伙伴一起來看看這篇文章吧
    2021-09-09
  • C#畫筆Pen繪制自定義線的帽子

    C#畫筆Pen繪制自定義線的帽子

    這篇文章主要介紹了C#畫筆Pen繪制自定義線的帽子,實例分析了畫筆Pen的使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#實現(xiàn)裝箱與拆箱操作簡單實例

    C#實現(xiàn)裝箱與拆箱操作簡單實例

    這篇文章主要介紹了C#實現(xiàn)裝箱與拆箱操作,對于新手理解裝箱與拆箱有一定的幫助,需要的朋友可以參考下
    2014-07-07
  • C#中Task.Yield的用途深入講解

    C#中Task.Yield的用途深入講解

    這篇文章主要給大家介紹了關(guān)于C#中Task.Yield的用途的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • .Net WInform開發(fā)筆記(三)談?wù)勛灾瓶丶?自定義控件)

    .Net WInform開發(fā)筆記(三)談?wù)勛灾瓶丶?自定義控件)

    自定義控件的出現(xiàn)有利于用戶更好的實現(xiàn)自己的想法,可以封裝一些常用的方法,屬性等等,本文詳細(xì)介紹一下自定義控件的實現(xiàn),感興趣的朋友可以了解下
    2013-01-01
  • 在C#中使用指針的示例代碼

    在C#中使用指針的示例代碼

    C#向開發(fā)人員隱藏了大部分基本內(nèi)存管理操作,因為它使用了垃圾回收器和引用,但是,有時候我們也需要直接訪問內(nèi)存,例如:進(jìn)行平臺調(diào)用,性能優(yōu)化等等,本文給大家介紹了在C#中使用指針的示例代碼,需要的朋友可以參考下
    2024-10-10
  • C# XML序列化方法及常用特性總結(jié)分析

    C# XML序列化方法及常用特性總結(jié)分析

    這篇文章主要介紹了C# XML序列化方法及常用特性,總結(jié)分析了C# xml序列化的實現(xiàn)方法及序列化常用Attribute含義與功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#中派生類調(diào)用基類構(gòu)造函數(shù)用法分析

    C#中派生類調(diào)用基類構(gòu)造函數(shù)用法分析

    這篇文章主要介紹了C#中派生類調(diào)用基類構(gòu)造函數(shù)用法,實例分析了派生類調(diào)用基類構(gòu)造函數(shù)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#中讀寫INI配置文件的方法

    C#中讀寫INI配置文件的方法

    這篇文章主要介紹了C#中讀寫INI配置文件的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • C#連接數(shù)據(jù)庫的方法

    C#連接數(shù)據(jù)庫的方法

    ASP.NET連接數(shù)據(jù)庫的技術(shù)叫ADO.NET,它是用來向數(shù)據(jù)庫提交sql語句的一堆類。這里連接的是Sql Server 2008數(shù)據(jù)庫,其他數(shù)據(jù)庫用法差不多,就是調(diào)用的類名不一樣
    2015-11-11

最新評論

富裕县| 彭泽县| 商城县| 泰兴市| 衡山县| 石台县| 松原市| 开封市| 修文县| 澄江县| 弥勒县| 石渠县| 饶平县| 政和县| 泰顺县| 收藏| 丰原市| 广西| 雷州市| 京山县| 乳山市| 湘潭市| 开封县| 手游| 十堰市| 佳木斯市| 棋牌| 宁明县| 双城市| 平泉县| 壤塘县| 大名县| 商丘市| 尚义县| 岳西县| 贵阳市| 台东县| 天长市| 南川市| 泾源县| 汨罗市|