エンコーディング

記事数:(13)

規格

日本語イーユーシー:基礎知識

電算機で日本語を取り扱う際、欠かせないのが文字の符号化です。これは、人間が理解できる文字を、電算機が理解できる数字の並びに変換する仕組みです。この変換に使われるのが文字符号で、日本語符号化方式の一つに日本語イーユーシーがあります。日本語イーユーシーは、その名の通り日本語を表現するために作られた符号化方式で、パソコン通信が盛んだった頃から広く使われてきました。 パソコン通信時代、人々は様々な機種の電算機を使って情報をやり取りしていました。機種が違えば、内部で文字を扱う方式も異なるため、文字化けなどの問題が発生しやすかったです。そこで、異なる機種間でも日本語を正しくやり取りできるように開発されたのが日本語イーユーシーです。この符号化方式は多くの機器で採用され、互換性を確保する上で大きな役割を果たしました。 日本語イーユーシーは、主に2バイトを使って日本語の文字を表現します。2バイトとは8個の二進数で構成される単位を2つ組み合わせたもので、これにより数千種類の文字を表現できます。ひらがな、カタカナ、漢字といった日本語特有の文字に加え、記号などもこの方式で符号化されています。 現在では、より多くの文字を扱える汎用日本語符号化方式が登場し、主流になりつつあります。しかし、過去に作られた多くの文章や資料は日本語イーユーシーで保存されているため、現在でも目にする機会は少なくありません。そのため、日本語イーユーシーの仕組みを理解することは、過去の資料を正しく扱う上で、そして日本語処理の仕組みを理解する上で、今でも重要な意味を持っています。日本語イーユーシーは、日本語と電算機の歴史における重要な一歩と言えるでしょう。
規格

2バイト文字とは何か?

計算機の世界では、あらゆる内容は数字で扱われています。文字も例外ではなく、それぞれの文字に対応する数字が割り当てられています。この数字による文字の表現方法を文字符号と呼びます。文字符号には様々な種類がありますが、文字を表すために必要なデータ量の差によって、1バイト文字、2バイト文字、多バイト文字といった分類があります。今回は、2バイト文字について詳しく説明します。 1バイト文字は、8個の0か1の組み合わせ、つまり8ビットで1文字を表します。一方で、2バイト文字は16ビット、つまり1バイト文字の2倍のデータ量を使って1文字を表します。そのため、1バイト文字では表現できない、より多くの文字を扱うことができます。例えば、ひらがな、カタカナ、漢字といった日本語の文字は、1バイト文字で表現するには数が多すぎます。そこで、2バイト文字を使ってこれらの文字を表現しています。 2バイト文字の代表的な例として、『日本語漢字符号』と呼ばれるものがあります。これは、日本語でよく使われる漢字をはじめ、ひらがな、カタカナ、記号などを含む、数千もの文字を収録した文字符号です。2バイト文字を使うことで、日本語の文章を正しく表示したり、保存したりすることが可能になります。 2バイト文字が登場した背景には、世界中で様々な言語が使われており、それぞれの言語で使われる文字を全て表現する必要性があったことが挙げられます。1バイト文字では表現できる文字数が限られていたため、より多くの文字を表現できる2バイト文字が開発されました。これにより、日本語だけでなく、中国語や韓国語など、多くの文字を使う言語にも対応できるようになりました。 このように、2バイト文字は、様々な言語の文字を扱う上で重要な役割を果たしています。情報化社会が進む現代において、異なる言語間での情報交換はますます重要になってきており、2バイト文字はその基盤技術の一つと言えるでしょう。
規格

動画圧縮の技術 MPEG-4 AVC/H.264

近頃では、動画の配信を見られる機会が増えました。場所を選ばず、いつでも好きな動画を楽しめるようになりましたが、高画質の動画はそれだけデータの容量も大きくなってしまいます。そこで重要になるのが、画質を保ちつつ、ファイルの大きさを小さくする技術です。 色々な動画圧縮技術がある中で、現在主流となっているのがエムペグフォー エーブイシー、別名エイチ点二六四と呼ばれる技術です。この技術は、動画を小さくまとめて、かつ、色々な機器で再生できるように工夫されています。そのため、インターネットで配信される動画だけでなく、テレビ放送やビデオ録画など、様々な場面で使われています。 このエムペグフォー エーブイシー、エイチ点二六四は、どのようにして動画の容量を小さくしているのでしょうか?まず、動画の中にほとんど変化のない部分を探します。例えば、空や壁のような静止した背景は、前のコマとほとんど同じなので、変化した部分の情報だけを記録すれば容量を減らせます。また、人間の目は、細かい変化よりも大きな動きの変化に敏感です。そこで、あまり目立たない細かい変化は省略することで、さらに容量を小さくしています。 このように、エムペグフォー エーブイシー、エイチ点二六四は、様々な工夫を凝らして動画の容量を抑えつつ、高画質を実現しています。この技術のおかげで、私たちは高画質の動画を快適に楽しむことができるのです。この技術の仕組みや特徴について、これから詳しく説明していきます。
規格

情報処理を支える小さな巨人:シングルバイト文字

計算機の世界では、あらゆる情報を0と1の数字の組み合わせで表しています。この0か1の最小単位を「ビット」といいます。電気が通っているかいないか、磁気がS極かN極か、といった二者択一の情報を表すのに最適です。ちょうど、電灯のスイッチのオンとオフのように、二つの状態を表現できます。そして、この小さな「ビット」が8つ集まって、ひとまとまりになります。この8ビットの塊を「バイト」と呼びます。 この「バイト」は、計算機が情報を扱う際の基本的な単位です。1バイトあれば、2の8乗、つまり256通りのパターンを表現できます。この256通りのパターンで、様々な記号や文字を割り当てて表現しているのです。例えば、アルファベットのAやB、数字の1や2、記号の!や?など、たくさんの文字や記号をこの1バイトで表すことができます。ひらがなやカタカナ、漢字といった日本語の文字は、1バイトでは表現しきれないものも多く、2バイトやそれ以上が必要になります。 1バイトで表現できる文字のことを「1バイト文字」または「半角文字」といいます。半角文字は、主にアルファベットや数字、記号などです。一方、ひらがなやカタカナ、漢字といった日本語の文字は、多くの場合「全角文字」と呼ばれ、2バイト以上を使って表現されます。画面上で文字を表示する際、半角文字は全角文字の半分の幅で表示されるため、この呼び名がついています。わずか8個の0と1の組み合わせで、これほど多くの情報を表現できることは驚くべきことです。この0と1の組み合わせこそが、現代の情報社会を支える礎となっているのです。
規格

文字化け対策:S-JISを理解する

計算機は文字を直接理解することができず、数字を使って文字を表現しています。この数字と文字の対応規則を文字符号と言います。様々な文字符号の中で、日本語の文字を扱うために作られたものの一つが、変換漢字集合、略してS-JISです。 S-JISは、個人の計算機が普及し始めた頃から広く使われてきました。日本語版の窓体系をはじめ、多くの処理手順で対応しているため、過去の文章や情報資産にも多く利用されています。現在でも様々な計算機処理で重要な役割を担っていると言えるでしょう。 S-JISは、主に1バイトと2バイトの組み合わせで日本語の文字を表現します。半角の英数字や記号などは1バイトで、漢字やひらがな、カタカナなどは2バイトで表現されます。このため、文字の種類によって符号の長さが変わるという特徴があります。 業務処理の仕組みや情報発信の場など、過去の遺産を活用する場面では、S-JISへの理解が欠かせません。過去の情報資産を適切に扱うためには、S-JISで記録された情報を正しく読み込み、表示する必要があるからです。また、新しい仕組みを作る際にも、過去の仕組みとの連携を考えると、S-JISへの対応が必要になる場合があります。 一方で、世界中には様々な言語や文字が存在し、それらを統一的に扱うための文字符号として統合漢字集合(Unicode)が開発されました。近年では、統合漢字集合の利用が進んでおり、S-JISから統合漢字集合への移行も進んでいます。しかし、既存の多くの仕組みがS-JISを使って作られているため、すぐに全てを置き換えることは難しいのが現状です。そのため、当面の間はS-JISと統合漢字集合の両方に対応していく必要があるでしょう。
規格

コンピューターと漢字:漢字コードの役割

計算機は、基本的に数を用いて情報を処理します。文字や記号といったものは、直接計算機で扱うことができません。そこで、文字一つ一つに特定の数を割り当て、数を介して文字を表現する仕組みが必要になります。この、文字に対応する数のことを文字番号と呼びます。漢字をはじめ、平仮名、片仮名、様々な記号なども、すべてこの文字番号によって計算機内部で表現されています。 漢字を表現するための文字番号を、特に漢字番号と呼びます。漢字番号は、単に漢字だけでなく、平仮名や片仮名、全角の記号なども含んでいます。私たちが画面上で見ている漢字は、実際にはこの漢字番号に対応する数が、計算機内部で処理されているのです。例えば、「漢字」という二文字を表示する場合、計算機内部では「漢字」に対応する二つの数が保存され、処理されています。 この文字番号の仕組みは、様々な種類の文字を計算機で扱うことを可能にしています。日本語だけでなく、英語、中国語、韓国語など、世界中の様々な言語を、この仕組みによって計算機で表現し、処理することができるのです。文字番号は、異なる種類の計算機の間で文字情報を正しくやり取りするためにも不可欠です。送信側と受信側で同じ文字番号の体系を用いることで、文字化けなどの問題を防ぎ、意図した通りの文字情報を伝達することができます。つまり、漢字番号は、私たちが普段何気なく使用している文字を、計算機で扱うための重要な基盤となっているのです。
開発

文字の大きさ:ダブルバイト文字

計算機の世界では、あらゆる情報は0と1の組み合わせで表されます。文字も例外ではなく、各文字に特定の番号が割り当てられています。この番号を記録するために必要な記憶場所の大きさをバイト数で表し、これが文字の大きさを決めます。1バイトは8ビットで、2の8乗、つまり256種類の文字を表現できます。これはアルファベットや数字、記号などを表すには十分ですが、日本語のように文字の種類が多い言語では足りません。 そこで、日本語の文字を扱うために考え出されたのが、2バイト、つまり16ビットを使って文字を表す方法です。2バイトは16ビットなので、2の16乗、つまり65,536種類の文字を表現できます。この2バイトで表される文字を、ダブルバイト文字と呼びます。1バイト文字の2倍の記憶場所を使うことで、日本語で使われるたくさんの種類の文字を表せるようになりました。 ダブルバイト文字のおかげで、ひらがな、カタカナはもちろん、数多くの漢字も計算機で扱えるようになりました。これにより、日本語で文章を書いたり、読んだりすることが計算機でできるようになりました。インターネットや電子メールなども、ダブルバイト文字のおかげで日本語で利用できるようになっています。計算機におけるダブルバイト文字の導入は、日本語の情報処理にとって非常に重要な役割を果たしました。今では、日本語を計算機で扱うのが当たり前になっていますが、この技術が日本語情報化社会の発展に大きく貢献したと言えるでしょう。
開発

多バイト文字の世界をのぞいてみよう

計算機の世界では、文字は数字で表されます。例えば、アルファベットの「A」や数字の「1」などは、数字を使って表すことができます。これらの文字は、8個の0と1の組み合わせ(8ビット)、つまり1バイトで表現できます。このような文字を1バイト文字と言います。 しかし、日本語には、ひらがな、カタカナ、漢字など、たくさんの文字があります。これらの文字は、種類が多いため、1バイトではすべての文字を表現することができません。そこで、2バイト以上を使ってこれらの文字を表現します。これが多バイト文字です。 例えば、ひらがなの「あ」や漢字の「一」などは、2バイトを使って表現されます。漢字の中には、3バイトや4バイトを使って表現されるものもあります。多バイト文字のおかげで、日本語だけでなく、中国語や韓国語など、様々な国の文字を計算機で扱うことができます。 多バイト文字は、異なる文字コード体系によって様々な種類があります。例えば、日本語でよく使われる文字コードに「シフトJIS」や「UTF-8」などがあります。これらの文字コードは、同じ文字でも異なる数字列で表現される場合があります。そのため、異なる文字コードで書かれた文章を正しく表示するためには、適切な文字コードを指定する必要があります。 つまり、多バイト文字は、私たちが普段使っている計算機が、世界中の様々な言葉を理解し、表示するために、なくてはならないものなのです。
規格

文字コード:コンピュータと文字の橋渡し

計算機は、電気信号のオンとオフで表現される数字の列しか理解できません。そのため、私たちが日常的に使用する文字を計算機で扱うには、文字を数字に変換する必要があります。この変換の仕組みを定めたものが、文字コードです。 文字コードは、文字と数字の対応表のようなものです。例えば、「あ」という文字には特定の数字が割り当てられており、「い」にも別の数字が割り当てられています。計算機は、この対応表に基づいて文字を数字に変換し、処理や表示を行います。文字コードがなければ、計算機は文字を認識することができず、文章作成や計算表作成、あるいは様々な情報を閲覧するといった、日々の作業はほぼ不可能と言えるでしょう。 文字コードには様々な種類があり、それぞれ対応する文字の種類や数が異なります。例えば、英語圏で使われているアスキーコードは、アルファベットや数字、記号など基本的な文字を表現できます。一方、日本語のように文字の種類が多い言語では、より多くの文字を表現できる文字コードが必要です。日本語でよく使われる文字コードには、様々な漢字を含むものなどがあります。 文字化けという現象を経験したことがある方もいるかもしれません。これは、異なる文字コードで作成された文章を、別の文字コードで表示しようとした場合に起こります。例えば、ある文字コードで「あ」に割り当てられた数字が、別の文字コードでは「い」に対応している場合、本来「あ」と表示されるべき箇所が「い」と表示されてしまうのです。これは、文字コードを正しく設定することの重要性を示しています。 文字コードは、私たちが普段意識することなく利用している技術ですが、デジタル社会を支える重要な基盤技術の一つと言えるでしょう。計算機と人間の間の橋渡し役を果たす文字コードによって、私たちは様々な情報を容易に扱えるようになっているのです。
規格

改行記号:LFの役割

文章を書くとき、行を変える操作を改行といいます。画面上に文字を並べるとき、読みやすく整えるためになくてはならない機能です。コンピュータの世界では、この改行を操るための記号があり、その一つに「行送り」(ラインフィード、LF)があります。「行送り」とは、文字を打つ位置を今の行から次の行の頭に動かす命令です。一見簡単な動作ですが、様々なところで大切な役割を担っています。 例えば、プログラムの元となる命令文を読みやすくするために改行したり、文章を段落ごとに整えたりするときに、「行送り」は必要不可欠です。「行送り」を適切に使うことで、情報の分かりやすさや整理のしやすさが格段に上がります。また、文章の見栄えを整えるだけでなく、データの構造を決める際にも、「行送り」は重要な役割を果たします。 例えば、CSV形式のファイルでは、「行送り」が行の区切りを示す記号として使われます。CSV形式のファイルは、様々なデータを表形式で保存するために広く使われています。各々のデータは「,」(カンマ)で区切られ、行が変わるところで「行送り」が挿入されます。これによって、表計算ソフトなどでファイルを開いたときに、データが正しい位置に配置され、見やすく整理された状態で表示されます。このように、「行送り」は単なる改行記号ではなく、情報の構造を決める上で非常に重要な役割を担っているのです。
規格

全角文字を理解する

計算機の世界では、様々な記号が使われています。文字や数字、句読点など、これらを表現するために様々な方法が考えられてきました。その中で「全角文字」と呼ばれるものがあります。画面に表示される文字の大きさを思い浮かべてみてください。全角文字は、正方形の升目にぴったりおさまるような、縦横の幅が同じ文字のことです。 例えば、「愛」や「語」、「夢」といった漢字を考えてみましょう。これらはすべて全角文字です。ひらがなの「あいうえお」、カタカナの「アイウエオ」も同様です。さらに、数字の「123」も全角文字です。これらの文字は、見た目にも均整が取れていて、文章の中でしっかりと存在感を示します。 全角文字は、多くの場合2バイトという情報量を使って表現されます。これは、半角文字の2倍の情報量を持っていることを意味します。「半角文字」は、全角文字の半分の幅で表示される文字で、アルファベットや数字などが該当します。例えば、半角の「ABC」や「123」です。これらは1バイトの情報量で表現されます。 なぜ、全角文字と半角文字という区別があるのでしょうか。それは、日本語の文章を見やすくするためです。漢字やひらがな、カタカナを半角文字で表現すると、文字が小さく、読みにくくなってしまいます。全角文字を使うことで、日本語の文章を美しく、読みやすい形で表示することができるのです。全角文字は、日本語を表現するために欠かせない文字なのです。 このように、全角文字は、計算機の中で日本語を適切に扱うために重要な役割を果たしています。画面表示だけでなく、データの保存や処理においても、全角文字と半角文字の違いを理解することは大切です。