[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. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (134 PV)
  2. Google News (グーグルニュース)日本版 (41 PV)
  3. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (10 PV)
  4. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (10 PV)
  5. [将棋]第76期名人戦は佐藤天彦名人が4勝2敗で羽生善治竜王(永世7冠)を下しタイトル防衛 (9 PV)
  6. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (9 PV)
  7. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (9 PV)
  8. Airbnb(エアビーアンドビー)、「民泊新法」施行後も違法物件を掲載 (9 PV)
  9. グーグルニュース(Google News)日本版が表示できるURL (8 PV)
  10. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (7 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2594 PV)
  2. Google News (グーグルニュース)日本版 (794 PV)
  3. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (399 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (398 PV)
  5. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (392 PV)
  6. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (224 PV)
  7. グーグルニュース(Google News)日本版が表示できるURL (174 PV)
  8. ウェブページを1回だけリロード(再表示)する方法 (160 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (159 PV)
  10. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (151 PV)

アクセス統計

ディレクトリ

関連サイト