UTF-8のBOM有り、BOM無しの違いとは

エディタなどで文字コードを指定する際「BOM有り」と「BOM無し」という選択肢があります。この「BOM」とは何かをまとめておきます。

BOMとは?

    まずBOMとは「バイトオーダーマーク (byte order mark) 」の略語となります。
    バイトオーダーマークとはUnicode形式のデータを「ビッグエンディアン」、「リトルエンディアン」のどちらで保存しているのかという情報をデータの先頭に付与する情報のことです。
    UTF-8の場合、先頭に3バイトのバイナリデータ「0xEF 0xBB 0xBF」が付与されたものが「BOM有り」の状態。付与されていない場合が「BOM無し」の状態となります。

どういう場合に「BOM有り」、「BOM無し」を使い分けるか?

  • Unicodeの規格ではBOMは推奨していません。
  • Web制作などでHTMLやPHPなどをエディタで編集する際はBOM無しを選択した方が一般的には問題は起こりにくいので無難です。但し、必ずしもBOM無しが正解というわけではないのは認識しておきましょう。
  • 「Microsoft Office Excel」などはBOMがないとUTF-8だと認識できず、種々の問題が起こる。
  • 基本的にはアプリケーション側でBOM有りが推奨されているケース以外ではBOM無しをデフォルト設定しておけば良いかと思われます。

HeTeMuLu Creatorで文字コードを設定する方法

HeTeMuLu Creatorでの文字コード設定方法をメモしておきます。
デフォルトの文字コードはUTF-8に設定しておく事をお勧めします。

文字コードの設定手順

  1. メニューの「ファイル」⇒「文字/改行コードの指定」を選択します。
  2. 後は文字コードで「UTF-8(BOM付き)」を選択して「OK」ボタンを選択すれば完了です。

HeTeMuLu Creator:終了するとRuntime error 216が発生する

HTMLエディタ「HeTeMuLu Creator」を起動して終了すると、以下の様に「Runtime error 216 at 00003188」というエラーが発生する原因と対処方法についてご紹介します。

環境

  • Windows 7 Professional
  • HeTeMuLu Creator Version 1.10a(インストーラ版)

Runtimeエラーが発生する原因

  • HeTeMuLu Creatorの最新バージョンをが適用されていない。
    古いバージョンのHeTeMuLu Creatorを使用するとアプリがクラッシュしてしまうようです。

対処方法

    最新バージョン「Version 1.20 Beta 2」を適用する事で「Runtime error 216」が発生する事象は解消出来ます。
  1. 公式サイトからHeTeMuLu Creatorの「Version 1.20 Beta 2」をダウンロードします。
  2. ダウンロードした「hcre120beta2.zip」を解凍して「Datas」ファイルと「Hetecre.exe」をHeTeMuLu Creatorをインストールしたフォルダへ上書きすれば完了です。

サクラエディタで文字コードを設定する方法

サクラエディタでデフォルトの文字コードを設定する方法です。
デフォルトの文字コードはUTF-8に設定しておく事をお勧めします。

文字コードの設定手順

  1. メニューの「設定」⇒「タイプ別設定」を選択します。
  2. 「支援」タブを選択し、デフォルト文字コードで「UTF-8」、「BOM」をチェックし「OK」ボタンを選択すれば設定完了です

HeTeMuLu Creator:「ブラウザでプレビュー」が選択出来ない原因

HTMLエディタ「HeTeMuLu Creator」でhtmlを編集して実際にブラウザでの表示確認用のメニューとして「ブラウザでプレビュー」がありますが、メニューを選択しても「ブラウザA,ブラウザB,ブラウザC,ブラウザD」とは表示されますがメニューが非活性になっていてブラウザが選択出来ない事象が発生しました。その原因と対応方法についてメモしておきます。

原因

  • 動作環境オプションでHeTeMuLu Creatorとブラウザが関連付けられていない。

対処方法

    「HeTeMuLu Creator」インストール直後はブラウザが設定されていない為、最初に表示確認するブラウザのexeファイルを「HeTeMuLu Creator」と関連付ける必要があります。
  • メニューの「表示」⇒「動作環境オプション」を選択します。
  • 「ブラウザの名称」と「表示したいブラウザのexeファイルの保存先」を指定して「OK」ボタンを選択します。
  • 正常に設定されると設定した名称でメニューの「表示」⇒「動作環境オプション」先に追加したブラウザが表示されます。

HeTeMuLu Creator:インストール手順

HTMLエディタ「HeTeMuLu Creator(へてむるクリエイタ~)」のインストール手順をご紹介しておきます。
基本的にインストーラをダウンロードして手順通り勧めれば簡単にインストール出来ます。

HeTeMuLu Creatorの特徴

  1. 無料で高機能なHTMLエディタを利用出来ます。
  2. タブで複数のファイルを編集できます。
  3. キーマクロも利用可能です。
  4. スタイル シートに対応しています。
  5. レジストリを汚さない。
  6. 画像のイメージビューアも搭載。
  7. 強力なタグ入力補完機能を搭載。
  8. リンクや画像の相対パスを取得できます。

ダウンロード先

HeTeMuLu Creatorのインストール手順

  1. ダウンロードした「hcre110a.exe」をダブルクリックしてインストーラを起動します。
  2. セットアップウィザードが起動したら「次へ」ボタンを選択します。
  3. 重要な情報画面が表示されるので「次へ」ボタンを選択します。
  4. インストール先の指定画面が表示されるのでインストール先を指定して「次へ」ボタンを選択します。
  5. プログラムグループを指定して「次へ」ボタンを選択します。基本的にデフォルト値のままでOKです。
  6. 「デスクトップ用のショットカット用アイコン」と「クイック起動用のショットカット用アイコン」の作成有無を選択して「次へ」ボタンを選択します。
  7. インストールが完了すると重要な情報画面が表示されるので読んだら「次へ」ボタンを選択します。
  8. セットアップが完了したら「完了」ボタンを選択してインストール完了となります。

JUnit:privateメソッドを実行(テスト)する方法

JUnitでテストする時にprivateメソッドをテストする方法をご紹介します。
privateメソッドをテストするにはリフレクション「java.lang.reflect.Method」を使用することで実行可能となります。

Javaソース

JUnitサンプル

JUnit:private変数を取得・更新する方法

JUnitでテストする時にprivateなメンバ変数を取得・更新したい場合の方法をご紹介します。
今回はAPI「JMockit」の「Deencapsulation」クラスを使用してカプセル化された変数を参照・更新する方法です。

JMokitのダウンロード

    以下サイトへアクセスしてダウンロードした「jmockit.jar」ファイルをクラスパスへ追加します。
    クラスパスへ追加する際、JUnitより先に読み込む必要があるのでJUnitより上位へ配置します。
    JMokitのダウンロード

JMokitのJavadoc

Javaソース

JUnitサンプル

djUnitでのプライベートコンストラクタのテスト方法

javaではUtilクラスなどのコンストラクタは無駄なインスタンス化を抑制するためにコンストラクタの修飾子をprivateにする事がよくあります。ただdjUnitで試験する場合にはコンストラクタを呼び出したくても修飾子がprivateになっていてはインスタンス化が出来ずに呼び出せないのでカバレッジを100%に出来ません。そういう場合にプライベートコンストラクタをテストする方法についてメモしておきます。

Javaソース

JUnitサンプル

djUnitを実行してクラス名の行が未実行になる

基本的な事ですがjavaのテストでdjUnitを使用していると以下の様にクラス名を指定している行が未実行になってしまうという事がありました。
この原因と対応方法についてメモして置きます。

クラス名が未実行となる原因

  • コンストラクタが定義されていない。

対応方法

  • 以下の様にコンストラクタを定義します。

    未実行の箇所がクラス名の行からコンストラクタの行へ変化したのがわかります。後はコンストラクタ用のテストメソッドを記述すれば全て実行済となります。