[rank:t]の検索結果


日本語の文章では半角の英数字と全角の英数字、また、半角のカタカナと全角のカタカナが混在していることがよくあります。意味は半角でも全角でも同じですので、コンピュータで処理する場合はどちらかに統一してから処理したいところです。

Perlで全角半角変換を行う主な方法としては、

・標準モジュールのEncode.pmを使う
・Unicode::Japaneseモジュールを使う
・全角半角の変換に特化したLingua::JA::Regular::Unicodeモジュールを使う

などがあります。

Encode.pmは標準モジュールですので比較的使いやすいですが、euc-jp以外の文字エンコードの場合はeuc-jpに変換する必要があります。

Unicode::Japaneseモジュールは、現状では一番使いやすいと思われますが、標準モジュールではないのでレンタルサーバーで動かすWebアプリケーションではちょっと使いにくい面もあります。

Lingua::JA::Regular::Unicodeは、全角半角の変換に特化したモジュールですので非常に軽量ですが、全角半角の変換以外の処理を考えるとuse utf8;しないと動作しないというのはかなり面倒です。

これらのモジュールを使った全角半角の変換のコードについては、以下のブログ記事などに記述されています。

Encodeで全角半角変換
Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング
perl - で全角半角変換をモダンに行う

しかし、いずれの方法もそれぞれ若干使いにくい面があるので、モジュールを使わずに自力で全角半角変換を行う方法を考えたいと思います。

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
技術評論社 著者:矢野 啓介


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

[2247] Posted by kagahiro at 2012/12/14 23:52:52
0 point | Link (4) | 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)

七草粥(ななくさがゆ)は、1月7日(人日の節句)に春の七草と呼ばれている雑草(セリ、ナズナ、ゴ(オ)ギョウ、ハコベラ、ホトケノザ、スズナ、スズシロ)をお粥に混ぜて食べることで、いくら駆除してもまた生えてくる雑草の生命力を体内に取り込み一年を無病息災で過ごせるというものだが、地域によっては気候の関係で本物の七草を入手できないところもあり、代用品を使った効果のないニセの七草粥が食べている地方も多い。

最近はスーパーや通信販売などで七草粥セットが販売されており、本物の七草の入手は用意になっているが、自分で集めたものでないと無病息災の期間が短くなってしまうので、できれば自分で集めたものを食べることをおすすめしたい。

七草がゆ
七草粥の豆知識
[2617] Posted by kagahiro at 2017/01/05 20:32:50
0 point | Link (1) | Trackback (0) | Comment (0)

日本海に展開していた米海軍の空母カールビンソンとロナルドレーガンが軍事演習を終え日本海から離れたことが明らかになった。空母カールビンソンは母港のカリフォルニア州サンディエゴに帰還するという。、艦載機に...
[2747] Posted by kagahiro at 2017/06/06 22:46:49
0 point | Link (3) | Trackback (0) | Comment (0)

C言語のstrncpy関数やmemcpy関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。そこで半角英数も全角文字も1文字として部分文字...
[2324] Posted by kagahiro at 2013/07/02 11:02:48
0 point | Link (3) | Trackback (0) | Comment (0)

オンラインストア「アマゾンamazon.co.jp)」が、今年で3回目となるamazonプライム会員向けのビッグセール「プライムデー」を7月11日(火)に開催すると発表した。7月10日(月)18時から先行開始され、7月11日23時...
[2795] Posted by kagahiro at 2017/06/29 17:53:43
0 point | Link (2) | Trackback (0) | Comment (0)

オープンソースの高速・軽量データベース「MySQL」に関する書籍。入門書や運用管理についての詳細な解説書、リファレンスなど。MySQL 徹底入門 第2版オープンソースのデータベース・サーバー、MySQLのインストールか...
[663] Posted by kagahiro at 2006/06/23 06:27:12
0 point | Link (7) | Trackback (0) | Comment (0)

文春砲としてスキャンダルを抱えた芸能人に恐れられている週刊文春が、加計学園の獣医学部新設についての「総理の意向」文書は、文部科学省の事務次官を務めた前川喜平氏が本物と認めたとスクープを予告している。前...
[2721] Posted by kagahiro at 2017/05/24 16:31:16
1 point | Link (4) | Trackback (0) | Comment (1)

5月7日の「五万石藤まつり『第24回将棋まつり』」で行なわれた公開対局で、藤井聡太四段が豊島将之八段に完敗するという波乱があった。公式戦ではデビュー以来16連勝と連勝記録を更新し続け、非公式戦ではこれまで...
[2706] Posted by kagahiro at 2017/05/08 16:49:18
0 point | Link (3) | Trackback (0) | Comment (0)

14歳二ヶ月で史上最年少のプロ棋士となり注目されている中学生プロ棋士藤井聡太四段が、第43期棋王戦予選で澤田真吾六段と対局。千日手指し直しの結果大逆転勝利しプロデビュー後の連勝記録を20連勝に更新した。戦型...
[2737] Posted by kagahiro at 2017/06/03 10:18:34
0 point | Link (2) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  1 2 3 4 5  次へ >


アクセスランキング

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (223 PV)
  2. グーグルニュースがダウンしていて見れない (70 PV)
  3. Google News (グーグルニュース)日本版 (63 PV)
  4. Google(グーグル) 日本版 (25 PV)
  5. 「CASH(キャッシュ)」アイテム(ブランド品やガジェット)の写真を撮れば審査なしで現金化できるサービス (18 PV)
  6. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (16 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (14 PV)
  8. 質屋アプリ「CASH(キャッシュ)」がキャッシュ化殺到で開始から16時間34分で査定停止に追い込まれる #炎上 (12 PV)
  9. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (11 PV)
  10. フリーソフトウェア/オープンソースのタブー (8 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5617 PV)
  2. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (1776 PV)
  3. 加計学園(かけがくえん)の獣医学部新設についての「総理の意向」文書は本物と週刊文春がスクープ予告 (449 PV)
  4. 米海軍の空母カールビンソンとロナルドレーガンが日本海から撤退 #北朝鮮問題 (259 PV)
  5. ウェブページを1回だけリロード(再表示)する方法 (236 PV)
  6. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (217 PV)
  7. [将棋]豊島将之八段が角換わり早繰り銀で藤井聡太四段に完勝するという波乱 (211 PV)
  8. Google News (グーグルニュース)日本版 (199 PV)
  9. Sony、ハイエンドEマウントミラーレスカメラ「α9」(model ILCE-9)を発表 (164 PV)
  10. [gcc]iconvで文字エンコードを変換するサンプルプログラム (145 PV)

アクセス統計

ディレクトリ

関連サイト