Java
 Computer >> コンピューター >  >> プログラミング >> Java

バイト配列を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アドレス表記を相互に変換する際に役立つ、基本的かつ重要なテクニックです。

  1. Javaで文字列をchar配列に変換する方法!toCharArray()メソッドの使い方を解説

    JavaにはtoCharArray()メソッドという便利な機能が用意されており、これを使うと文字列(String)をchar型の配列(char配列)に簡単に変換できます。このメソッドを活用すれば、文字列の中の1文字ずつを配列の要素として操作できるようになります。空白・数字・英字・記号なども、すべてそのままchar配列に格納されます。 なぜ文字列をchar配列に変換するのか プログラミングをしていると、Javaの文字列をchar配列に変換したくなる場面があります。たとえば、生徒の成績リストを管理するアプリを作っているとしましょう。成績が「ABCAAAC」のような1つの文字列として保存されてい

  2. AndroidでJavaのBitmapをバイト配列(byte[])に変換する方法【サンプルコード付き】

    このチュートリアルでは、Androidアプリ開発において、JavaのBitmap(ビットマップ)画像をバイト配列(byte[])へ変換する方法を、ステップごとに詳しく解説します。画像の圧縮・保存やネットワーク送信など、さまざまな場面で役立つ基本テクニックです。ステップ1:新規プロジェクトを作成するまずはAndroid Studioを起動し、メニューから「File」→「New Project」を選択しましょう。必要な項目をすべて入力して、新しいプロジェクトを作成します。ステップ2:レイアウトファイル(activity_main.xml)を編集するres/layout/activity_main.