Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】String::encode()メソッドの使い方

encodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

encodeメソッドは、RubyのStringクラスに属し、文字列のエンコーディング(文字コード)を別のエンコーディングへ変換するために使用するメソッドです。この機能は、異なる文字コードのシステムやファイル間でデータを連携する際に、文字化けを防ぎ、テキスト情報を正しく処理するために不可欠となります。

基本的な使い方は、変換したい文字列に対して.encode(変換先のエンコーディング名)のように呼び出します。例えば、sjis_string.encode('UTF-8')と記述することで、Shift_JIS形式の文字列を国際標準であるUTF-8形式に変換できます。また、必要に応じて、変換元のエンコーディングを明示的に指定したり、変換エラー発生時の挙動(例えば、変換できない文字を特定の文字に置き換えるなど)を制御するためのオプション引数を渡すことも可能です。

encodeメソッドは、変換された新しい文字列を返します。元の文字列自体が変更されることはありませんので、元のデータを保持したまま、新しいエンコーディングの文字列を取得できます。元の文字列のエンコーディングが正しくない場合や、変換先のエンコーディングに存在しない文字が含まれる場合には、デフォルトでEncoding::UndefinedConversionErrorなどのエラーが発生することがあります。これは、文字セットが持つ文字の範囲が異なるために起こります。

システム開発において、Windows環境で作成されたファイルをLinuxサーバーで処理する場合や、異なる言語圏のデータを取り扱う場合など、多岐にわたる場面でこのエンコーディング変換は非常に重要です。正確なデータ連携を実現するために、このメソッドの適切な利用が求められます。

構文(syntax)

1"元の文字列".encode("UTF-8")

引数(parameters)

dst_encoding, src_encoding = nil, options = nil

  • dst_encoding: 文字列の変換先となるエンコーディングを指定します。
  • src_encoding = nil: 文字列の元のエンコーディングを指定します。省略された場合は、Rubyのデフォルトエンコーディングが使用されます。
  • options = nil: エンコーディング変換に関するオプションを指定します。

戻り値(return)

String

指定されたエンコーディング形式に変換された新しい文字列を返します。

関連コンテンツ

関連プログラミング言語