2020年10月15日
川俣晶の縁側ソフトウェアC# コーディング How Tototal 2902 count

【入門級】文字列をbyte配列に直してまた文字列に戻す

Written By: 川俣 晶連絡先

文字列をbyte配列に直す §

 Encoding.GetBytes メソッド一発です。

 具体的には、UTF-8のバイト配列に直すのならEncoding.UTF8.GetBytesでオッケーです。

 難しいことはないですね。

byte配列を文字列に直す §

 これも、Encoding.GetString メソッド一発です。

 具体的には、UTF-8のバイト配列から直すのならEncoding.UTF8.GetStringでオッケーです。

 これも難しいことはないですね。

罠の数々 §

  • データ量が増えることがあることに注意しよう。1文字しか入っていない文字列でも、UTF-8に直すと文字の種類によって2バイト、3バイト、それ以上になることがある
  • 変換できない文字があることに注意しよう。たとえば、アルファベットと数字しか表現できないASCIIに漢字を入れようとしても、それは変換ができず?に置き換えられてしまう

参考リンク §

Encoding.GetBytes メソッド

Encoding.GetString メソッド

 どちらのメソッドも対象を絞り込む機能を持っている。配列の特定の部分だけ文字列にする等。たとえば、ファイル全体を配列に読み込んでから文字列の部分だけを文字に置き換えるようなことも容易にできる。上記のリンクからどうすればできるのかを調べてみよう。

リポジトリ §

https://github.com/autumn009/cshowto

StringBytes §

using System;

using System.Text;

class Program

{

    static void Main()

    {

        var s = "Hella World";

        Console.WriteLine(s);

        var array = Encoding.UTF8.GetBytes(s);

        foreach (var item in array) Console.Write($"{item} ");

        Console.WriteLine();

        array[4] = 111;

        foreach (var item in array) Console.Write($"{item} ");

        Console.WriteLine();

        var d = Encoding.UTF8.GetString(array);

        Console.WriteLine(d);

    }

}

実行結果

Hella World

72 101 108 108 97 32 87 111 114 108 100

72 101 108 108 111 32 87 111 114 108 100

Hello World

Facebook

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?
キーワード【 川俣晶の縁側ソフトウェアC# コーディング How To
【C# コーディング How To】の次のコンテンツ
2020年
10月
19日
【入門級】大文字だけを取り出したい
3days 0 count
total 892 count
【C# コーディング How To】の前のコンテンツ
2020年
10月
14日
【入門級】ユニークさの保証・その値は配列に一つだけか?
3days 0 count
total 971 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20201015145217
サイトの表紙【C# コーディング How To】の表紙【C# コーディング How To】のコンテンツ全リスト 【C# コーディング How To】の入手全リスト 【C# コーディング How To】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.