[文字エンコード]の検索結果


単にテキストファイル等の文字エンコードを変換するのであれば、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

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
ソフトバンククリエイティブ 著者:青木 峰郎 価格:2,940円 評価:★★★★★


  • 良書だと思います ★★★★★
  • Linuxを学ぶ為の読本、Cプログラムミングを学ぶなら別の本で ★★★★★
  • 基礎を学ぶには良い書籍だと思います ★★★★★
  • 入門書としては良い ★★★★
  • Linuxプログラミングを始めたい人にオススメ ★★★★★

powered by amalink
[2182] Posted by kagahiro at 2010/08/06 00:29:29
0 point | Link (1) | Trackback (0) | Comment (0)

URLから元ページのタイトルを取得するためのPerlのサンプルスクリプトです。
処理手順は以下の通りです。

1.ページURLを元にHTMLソースを取得する。
2.タイトルタグで囲まれている文字列を抜き出す。

対象のページがどんな文字エンコードで記述されているか不明なので、文字エンコードの変換処理も行っています。

use LWP::Simple;
use Jcode;

#my $pageurl = "http://www.01club.org/59log/";
my $pageurl = "http://59bbs.org/";
my $content = get($pageurl);
my $title = '';
my $pattern = "<title>(.+)</title>";
if($content =~ m/$pattern/i) {
$title = $1;
}

# 文字コードをSJISに変換
my ($code, $nmatch) = Jcode::getcode(\$title);
$title = Jcode->new($title, $code)->sjis;
print "$title\n";


サンプルコードではタイトルだけ取得してますが、正規表現のパターンを変更することで、本文も取得なども行えるはずです。
[231] Posted by buzei at 2008/03/02 22:35:06
0 point | Link (1) | Trackback (0) | Comment (0)

任意のキーワードリストに含まれるテキスト中のキーワードに、特定のページ(URL)にリンクするPerlのサンプルスクリプトを作ってみました。ブログソフトとか掲示板ソフトを開発する際に役に立つと思います。文字エンコードがUTF-8、EUCではOKでしたが、SJISではうまく動きませんでした。

以下、サンプルスクリプトの一部です。
my @wordlist = ('はてな', 'ブログ', 'アルファブロガー');
foreach my $word (@wordlist) {
my $encword = $word;
$encword =~ s/(\W)/'%'.unpack('H2', $1)/eg; # uri encode
my $link = "<a href=\"serach.cgi?querystr=$encword\">$word</a>";
$text =~ s/$word/$link/g;
# アンカーテキストのキーワードは元に戻す
my $pattern = "(<a href.+)<a href.+$word</a>(.+/a>)";
$text =~ s/$pattern/$1$word$2/g;
}
print $text;

リンクの処理のところが微妙ですが、適当に修正して使っていただければ幸いです。

はてなダイアリーのキーワードにリンクするためのサンプルもあるようです。動かしてみたわけでないのでハッキリとはいえませんが、ソースを見る限りテキスト内でアンカータグでリンクを行っている場合は、まずいような気もします。

はてなダイアリーキーワード自動リンクAPI - はてなダイアリー日記
なお、上記ファイルは現状で300KBほどありますので、アプリケーション側で一定時間キャッシュして頂くなどの措置をお願いできればと思います。
テキスト一つ処理するだけで300KBですか、はてな側も大変かも知れませんが呼び出す方も大変ですね。
[225] Posted by buzei at 2008/02/24 23:46:55
0 point | Link (1) | Trackback (0) | Comment (0)

Perlで日本語を扱うWebアプリを開発する際に必要になるのが、文字コード(エンコード)を変換するためのモジュールです。Webアプリのターゲットとなる運用環境でPerl 5.8が使えるのであればEncodeモジュールを利用す...
[133] Posted by buzei at 2007/11/29 06:35:13
0 point | Link (2) | Trackback (0) | Comment (0)

ブログ等に貼り付けるためのAmazonの商品リンクを、Amazon ECS のRESTリクエストを利用して、画像付きで生成するフォームを作成しました。商品のASINとアソシエイトIDを入力して作成ボタンをクリックすると画像付きの...
[48] Posted by buzei at 2007/06/22 10:17:22
0 point | Link (2) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング(上位10件)

  1. 2chみたいな掲示板「PHP 2chBBS」 (4 PV)

今月のアクセスランキング(上位10件)

  1. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (28 PV)
  2. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (27 PV)
  3. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (24 PV)
  4. PHP、MySQLで動くオープンソース掲示板ソフト (17 PV)
  5. 2chみたいな掲示板「PHP 2chBBS」 (16 PV)
  6. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (14 PV)
  7. 佐野研二郎氏の妻「実際にデザインを担当しているのは数人の部下。佐野は監修しただけ」パクリ疑惑を完全否定 (11 PV)
  8. 「暴力と麻薬に汚染された芸能界」を告発する梨元勝の「遺言状」 (10 PV)
  9. 2chまとめサイト(ブログ)検索 (10 PV)
  10. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (7 PV)

アクセス統計

ディレクトリ

関連サイト