[JIS]の検索結果


Unicodeの文字コード表によるとUTF-8の半角英数、全角英数、半角カナ、全角カナの文字コードは以下のようになるようです。 英数字の場合は半角と全角の文字がそれぞれ対応していますが、カタカナの場合は半角と全角では文字の数が違うようです。

半角数字:0 - 9
30 - 39

全角数字
EFBC90 - EFBC99
2バイト目まではEFBC

半角アルファベット大文字:A - Z
41 - 5A

全角アルファベット大文字:A - Z
EFBCA1 - EFBCBA
2バイト目まではEFBC

半角アルファベット小文字:a - z
61 - 7A

全角アルファベット小文字:a - z
EFBD80 - EFBD9A
2バイト目まではEFBD

半角カナ(JISカナ)
EFBDA1 - EFBE9F
1バイト目がEFで2バイト目、3バイト目がBDA1 - BE9Fの範囲

全角カタカナ
E38299 - E383BF
1バイト目がE3で2バイト目、3バイト目が82A1 - 83BFの範囲

Unicode対応 文字コード表
http://ash.jp/code/unitbl1.htm
http://ash.jp/code/unitbl21.htm

動作確認用にまずUTF-8の文字コードを表示するプログラムを作成します。

#!/usr/bin/perl

use strict;
use warnings;
use Encode;

my $hanAlnum = "ABCDE12345abcde";
my $zenAlnum = "ABCDE12345abcde";
my $hanKana = "アイウエオ";
my $zenKana = "アイウエオ";

print_charcode($hanAlnum);
print "\n";

print_charcode($zenAlnum);
print "\n";

print_charcode($hanKana);
print "\n";

print_charcode($zenKana);
print "\n";

# UTF-8でエンコードされた文字列の文字コードを表示する
sub print_charcode {
    my ($src) = @_;

    my $srclen = length($src);
    my $pos = 0;

    while ($pos < $srclen) {
        my $code = ord substr($src, $pos, 1); # 先頭のASCIIコード値を取得
        my $bytelen = _bytesize($code);
        my $srcchar = substr($src, $pos, $bytelen);
        my $codestr = sprintf("%2.2X ", $code);
        if ($bytelen > 1) {
            my $times = $bytelen - 1;
            for my $i (1 .. $times) {
                my $charcode = ord substr($src, $pos + $i, 1);
                $codestr .= sprintf("%2.2X ", $charcode);
            }
        }

        # Windowsで表示するのでcp932(シフトJIS)に変換
        Encode::from_to($srcchar, 'utf8', 'cp932');
        print "$srcchar : $codestr\n";
        $pos += $bytelen;
    }
}

# 文字のバイト長を求める
sub _bytesize {
    my $code = shift;
    my $size = 1;
    if (0x80 & $code) { # 1バイト文字以外
        $code <<= 1;
        for my $i (2 .. 8) {
            $size++;
            $code <<= 1;
            last if (!(0x80 & $code));
        }
    }
    return $size;
}

Perl Hacks ―プロが教えるテクニック & ツール101選
オライリー・ジャパン 著者:chromatic,Damian Conway,Curtis "Ovid" Poe


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2248] Posted by kagahiro at 2012/12/17 00:25:00
0 point | Link (1) | Trackback (0) | Comment (0)

単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、 プログラム内部で取得した文字列の文字エンコードを変換したい場合もあります。

以下のプログラムはLinuxやCygwinの環境でC言語のプログラムからiconvを呼び出して文字エンコードを 変換する場合の手順を示したサンプルプログラムです。

--- tst_iconv.c ---

#include <stdio.h>
#include <iconv.h>

#define  BUFSIZE  1024

char outbuf[BUFSIZE];

int convert(char const *src,
            char const *dest,
            char const *text,
            char *buf,
            size_t bufsize);

main(void)
{
    int ret;

    ret = convert("SHIFT-JIS", "UTF-8",
                  "日本語テストメッセージおはよう",
                  outbuf, sizeof(outbuf));
    if (ret) {
        printf("%s\n", outbuf);
    }
    else {
        printf("Oops!\n");
    }
}

int convert(char const *src,
            char const *dest,
            char const *text,
            char *buf,
            size_t bufsize)
{
    iconv_t cd;
    size_t srclen, destlen;
    size_t ret;

    cd = iconv_open(dest, src);
    if (cd == (iconv_t)-1) {
        perror("iconv open");
        return 0;
    }

    srclen = strlen(text);
    destlen = bufsize - 1;
    memset(buf, '\0', bufsize);

    ret = iconv(cd, &text, &srclen, &buf, &destlen);
    if (ret == -1) {
        perror("iconv");
        return 0;
    }

    iconv_close(cd);
    return 1;
}

コンパイル方法
$ gcc -o tst_iconv tst_iconv.c -liconv

ICONV

[1982] Posted by kagahiro at 2010/07/26 09:54:29
0 point | Link (2) | Trackback (0) | Comment (0)

IPA(情報処理推進機構)オープンソフトウェア・センターが中心となって原案作成を進めてきたWebサービスの相互運用性に関するJIS規格(JIS X 7361、JIS X 7362、JIS X 7363)が公示された。これらのJIS規格を活用することにより、相互運用性の高いWebサービスを構築することが可能になる。

公示されたJIS規格は、Webサービス技術を推進する国際的な業界団体であるWS-Iが、2008年に制定したISO/IEC 29361:2008、ISO/IEC 29362:2008及びISO/IEC 29363:2008の三つの国際規格を、国内のITベンダー及び国内のユーザーからもより容易に、広く活用されることを目指し、IPAが日本語への翻訳を行うとともに、JIS規格とするための作業に取り組んできたもの。

情報処理推進機構:プレス発表:記事:Webサービス相互運用性関連JIS規格の公示について
[1972] Posted by kagahiro at 2010/07/22 00:05:13
0 point | Link (2) | Trackback (0) | Comment (0)

IPAがJIS規格として標準化を進めているオープンソースのプログラミング言語「Ruby」の標準化仕様のドラフト(英語)。Ruby言語の構文、データ構造、組み込みクラス・モジュールの一部について定義されている。
[1725] Posted by kagahiro at 2009/12/07 20:13:43
0 point | Link (2) | Trackback (0) | Comment (0)

当ブログ(語句ログ)のシステムとしても使用しているオープンソースの無料ブログソフト「59Tracker 2.0 alpha版」を GPL(GNU General Public License) で公開しました。文字エンコードはシフトJISとUTF-8の2種類用意...
[909] Posted by kagahiro at 2006/11/20 14:50:08
0 point | Link (4) | Trackback (0) | Comment (0)

リレーショナルデータベースの標準言語であるSQLに関する入門書やリファレンス、プログラミング解説書などの書籍。SQLプログラミング入門―12のレッスンで学ぶリレーショナルデータベース実践講座サンプル中心のチュ...
[662] Posted by kagahiro at 2006/06/23 05:59:57
0 point | Link (8) | Trackback (0) | Comment (0)

Amazon ECSを利用して画像付き個別商品リンクを作成するperlスクリプトを作成しました。ただし、書籍、CD、DVDにしか対応していません。これ以外の商品の場合はカスタマイズが必要になります。動作環境としては、Win...
[625] Posted by kagahiro at 2006/06/13 00:58:57
0 point | Link (3) | Trackback (0) | Comment (0)

文字エンコードとは、ある文字セットに含まれる個々の文字と、コンピュータで表現できる数値とのマッピングのことで、これらの数値は 1 バイトまたはマルチバイトで表現される。日本語の表現には、Shift-JIS、EUC-JP...
[563] Posted by kagahiro at 2006/05/19 02:33:26
0 point | Link (1) | Trackback (0) | Comment (0)

Legacy Encoding Projectとは、libiconv、glibc、Perl、Ruby、Python、PHP、ostgreSQL、MySQL、nkf などの主要なOSS(オープンソースソフトウェア)において、Microsoft標準キャラクタセットをシフト JIS符号化方式、...
[562] Posted by kagahiro at 2006/05/19 00:48:33
1 point | Link (2) | Trackback (1) | Comment (0)

 

A C言語

C言語とは、AT&T社のベル研究所でデニス・リッチー氏とカーニハン氏の両氏によって開発されたプログラミング言語のことで、アメリカ規格協会(ANSI)によって1986年に標準化され、国際標準化機構(ISO)や日本工業規格(J...
[227] Posted by kagahiro at 2005/04/02 18:51:51
0 point | Link (5) | Trackback (0) | Comment (0)

  1 2  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (11 PV)
  2. [食べ物]七草粥(ななくさがゆ) (6 PV)
  3. 「CASH(キャッシュ)」アイテム(ブランド品やガジェット)の写真を撮れば審査なしで現金化できるサービス (4 PV)
  4. Google News (グーグルニュース)日本版 (4 PV)
  5. YouTubeドラマまとめ ドラマ・映画 -VideoNavi- (3 PV)
  6. 世界最大のマストドンインスタンス「mstdn.jp」の管理者nullkal(ぬるかる)さんがドワンゴに入社 (2 PV)
  7. グーグルニュース(Google News)のRSS/atomが取得できない (2 PV)
  8. ウェブページを1回だけリロード(再表示)する方法 (2 PV)
  9. Sony、ハイエンドEマウントミラーレスカメラ「α9」(model ILCE-9)を発表 (2 PV)
  10. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (2 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3510 PV)
  2. Google News (グーグルニュース)日本版 (591 PV)
  3. Deep Learning (日本語翻訳版) - ディープラーニング(深層学習)に関する書籍の決定版 #機械学習 (352 PV)
  4. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (320 PV)
  5. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (317 PV)
  6. [食べ物]七草粥(ななくさがゆ) (303 PV)
  7. グーグルニュース日本語版が見れない (267 PV)
  8. フリーソフトウェア/オープンソースのタブー (251 PV)
  9. 「CASH(キャッシュ)」アイテム(ブランド品やガジェット)の写真を撮れば審査なしで現金化できるサービス (240 PV)
  10. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (209 PV)

アクセス統計

ディレクトリ

関連サイト