概要
- 通常の文字列からbyte型配列への変換
- byte型配列から通常の文字列への変換
実装例
using System;
namespace BinaryEditorBase
{
public static class BinaryEditor
{
/// <summary>
/// バイト列を通常の文字列に変換
/// </summary>
/// <param name="bytes">バイト列</param>
/// <param name="encoding">エンコード</param>
/// <returns>文字列</returns>
public static string BytesToString(byte[] bytes, System.Text.Encoding encoding)
{
return encoding.GetString(bytes);
}
/// <summary>
/// 通常の文字列をバイト列に変換
/// </summary>
/// <param name="normalString">文字列</param>
/// <param name="encoding">エンコード</param>
/// <returns>バイト列</returns>
public static byte[] StringToBytes(string normalString, System.Text.Encoding encoding)
{
return encoding.GetBytes(normalString);
}
[STAThread]
static void Main()
{
try
{
// 通常の文字列
string normalData1A = "Maiu-";
string normalData2A = "まいう~";
// byte型配列へ変換
byte[] bytesData1 = BinaryEditor.StringToBytes(normalData1A, System.Text.Encoding.UTF8);
byte[] bytesData2 = BinaryEditor.StringToBytes(normalData2A, System.Text.Encoding.UTF8);
// string型文字列へ変換
string normalData1B = BinaryEditor.BytesToString(bytesData1, System.Text.Encoding.UTF8);
string normalData2B = BinaryEditor.BytesToString(bytesData2, System.Text.Encoding.UTF8);
// 表示
Console.WriteLine(normalData1B);
Console.WriteLine(normalData2B);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
// 終了処理
Console.Write("何かキーを押してください");
Console.Read();
}
}
}
説明
(11行目) 「System.Text.Encoding」クラスにある「GetString」メソッドを呼び出しているだけです。 文字コードについてはあらかじめ設定する必要があるので、それを引数としています。
(18行目) 11行目とほぼ同じで、「System.Text.Encoding」クラスにある「GetBytes」メソッドを呼び出しているだけです。 文字コードについても11行目と同じです。