バイト配列をIPアドレスに変換する方法!IPAddressクラスの使い方を解説
バイト配列が与えられたとき、それをIPアドレスに変換して結果を表示する方法を解説します。本記事では、IPAddressクラスを使った変換の手順を、構文やサンプルコード、実行結果とあわせてわかりやすく紹介します。
バイト配列とは
バイト(byte)は8ビットで構成されるデータ単位であり、バイト配列は連続したバイトが並んだもので、バイナリ情報を格納するために使われます。多くの言語においてbyteはプリミティブ型(基本データ型)の一つで、8ビットの符号付き整数として扱われ、-128から127までの範囲の値を保持できます。
byte変数の宣言:
byte 変数名 = 初期値;
byte配列の宣言:
byte[] 配列名 = new byte[サイズ];
IPAddressクラスとは
IPAddressクラスは、IPアドレスを表現・操作するためのクラスです。なお、本記事で紹介しているIPAddressクラスおよびサンプルコード(System.Net名前空間やConsole.WriteLineなど)は、厳密には.NET(C#)の機能であり、Javaそのものではありません。Javaで同様の処理を行う場合はInetAddressクラスを使用しますが、ここでは元のコードに沿って、IPAddressクラスによるバイト配列からIPアドレスへの変換方法を説明します。
構文
IPAddress オブジェクト名 = new IPAddress(byte[])
入力と出力の例
入力: 171, 32, 101, 11
出力: 171.32.101.11
入力: 172, 31, 102, 14
出力: 172.31.102.14
プログラムの流れ
今回のプログラムでは、以下の手順で変換を行います。
- System.Net名前空間をインポート(usingディレクティブ)する
- 数値をバイトとしてbyte配列に格納する
- IPAddressクラスのオブジェクトを生成し、byte配列をコンストラクタに渡す
- ToString()メソッドでアドレスを文字列表現に変換する
- 結果を出力する
アルゴリズム
START
Step 1 → 変換用のクラスconvertを宣言する
public class convert
public static void Main() を呼び出す
IPAddress add = new IPAddress(new byte[] { 171, 32, 101, 11 }) を設定
Console.WriteLine(add.ToString()) を呼び出す
終了
STOP
サンプルコード
using System;
using System.Net;
public class convert {
public static void Main() {
IPAddress add = new IPAddress(new byte[] { 171, 32, 101, 11 });
Console.WriteLine(add.ToString());
}
}
実行結果
171.32.101.11
このように、byte配列をIPAddressクラスのコンストラクタに渡すだけで、各バイトが「.(ドット)」で区切られたIPアドレス形式の文字列へと変換されます。ネットワークプログラミングにおいて、生のバイト列と人間が読みやすいIPアドレス表記を相互に変換する際に役立つ、基本的かつ重要なテクニックです。
-
Javaで文字列をchar配列に変換する方法!toCharArray()メソッドの使い方を解説
JavaにはtoCharArray()メソッドという便利な機能が用意されており、これを使うと文字列(String)をchar型の配列(char配列)に簡単に変換できます。このメソッドを活用すれば、文字列の中の1文字ずつを配列の要素として操作できるようになります。空白・数字・英字・記号なども、すべてそのままchar配列に格納されます。 なぜ文字列をchar配列に変換するのか プログラミングをしていると、Javaの文字列をchar配列に変換したくなる場面があります。たとえば、生徒の成績リストを管理するアプリを作っているとしましょう。成績が「ABCAAAC」のような1つの文字列として保存されてい
-
AndroidでJavaのBitmapをバイト配列(byte[])に変換する方法【サンプルコード付き】
このチュートリアルでは、Androidアプリ開発において、JavaのBitmap(ビットマップ)画像をバイト配列(byte[])へ変換する方法を、ステップごとに詳しく解説します。画像の圧縮・保存やネットワーク送信など、さまざまな場面で役立つ基本テクニックです。ステップ1:新規プロジェクトを作成するまずはAndroid Studioを起動し、メニューから「File」→「New Project」を選択しましょう。必要な項目をすべて入力して、新しいプロジェクトを作成します。ステップ2:レイアウトファイル(activity_main.xml)を編集するres/layout/activity_main.