[rank:t]の検索結果


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

ビデオカメラとインターネット接続さえあれば無料で全世界へ自分の番組を放送できるインターネット動画中継(ライブ配信)サービス「USTREAM(ユーストリーム)日本語版」の使い方を日本語で解説しているサイトや番組の検索サイトなどを紹介しています。

Ustream(ユーストリーム)は、2007年3月に設立されたライブ映像配信サービスで、視聴者とのチャット機能や、視聴者からの投票機能などがあります。日本語版では、オンラインヘルプなど一部のページを除き、メニューなどのユーザーインターフェースが日本語に翻訳されており、時刻表示も米国西海岸時間(PST)ではなく日本時間(JST)になっています。

Broadcast video LIVE to the world from a computer, mobile or iPhone in minutes, or watch thousands of shows from News to Entertainment to celebrities, 24/7.

USTREAM(ユーストリーム)公式

ユーストリームの使い方の解説サイト

ユーストリームで配信されている番組を検索できるサイト

フロンティアの低価格ノートPCはこちら

ライブ配信&収録の教科書 (玄光社MOOK)
玄光社


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

CEREVO 【LiveShell】 PC不要で簡単・高画質なUstream・YouTube Live・ニコニコ生放送対応 映像配信アダプタ CDP-LS01
Cerevo


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

[1842] Posted by kagahiro at 2010/04/28 10:00:21
4 point | Link (19) | Trackback (0) | Comment (4)

C言語のstrncpy関数やmemcpy関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。 そこで半角英数も全角文字も1文字として部分文字列を取り出すことができる関数を作成します。

以下はそのコードです。[C言語]UTF-8でエンコードされた文字列の文字数を取得するコードと同様に、文字の1バイト目のビットの状態を調べることによってその文字が何バイト文字を判定しています。

#include <stdio.h>
#include <string.h>

char *substr_utf8(char *dest, char *src, int offset, int len);
int _bytesize(unsigned char code);


int main(void)
{
    char *testStr = "ABCDEFGあいうえおアイウエオ愛夢佐々木";
    char strBuf[256];

    memset(strBuf, 0sizeof strBuf);

    printf("substr_utf8($testStr, 0, 5) = %s\n", substr_utf8(strBuf, testStr, 05));
    printf("substr_utf8($testStr, 3, 3) = %s\n", substr_utf8(strBuf, testStr, 33));
    printf("substr_utf8($testStr, 10, 4) = %s\n", substr_utf8(strBuf, testStr, 104));
    printf("substr_utf8($testStr, 13, 5) = %s\n", substr_utf8(strBuf, testStr, 135));

    return 0;
}

/* UTF-8でエンコードされた文字列の部分文字列を取り出す */
/* substr_utf8 (文字列式, オフセット, 長さ)*/
char *substr_utf8(char *dest, char *src, int offset, int len)
{
    int srclen = strlen(src);
    int pos = 0;
    int count = 0;
    char *cp = dest;

    while (pos < srclen) {
        unsigned char code;
        code = *(src + pos); /* ASCIIコード値を取得 */
        int bytelen = _bytesize(code);

        if (count >= offset && count < (offset + len)) {
            memcpy(cp, (src + pos), bytelen);
            cp += bytelen;
            *cp = '\0';
        }
        pos += bytelen;
        count++; /* 文字数をカウント */
    }

    return dest;
}

/* 文字のバイト長を求める */
int _bytesize(unsigned char code)
{
    int size = 1;
    int i;

    if (0x80 & code) { /* 1バイト文字以外 */
        for (i = 2; i <= 8; i++) {
            code <<= 1;
            if (!(0x80 & code)) {
                break;
            }
            size++;
        }
    }
    return size;
}

実行結果
$ ./substr_utf8
substr_utf8($testStr, 0, 5) = ABCDE
substr_utf8($testStr, 3, 3) = DEF
substr_utf8($testStr, 10, 4) = えおアイ
substr_utf8($testStr, 13, 5) = イウエオ愛

[2324] Posted by kagahiro at 2013/07/02 11:02:48
0 point | Link (3) | Trackback (0) | Comment (0)

Tumblr(タンブラー)のダッシュボードに問答無用で表示されるおすすめ投稿を消す(非表示にする)方法についてです。Tumblrを使用する際にまず問題になるのが、Tumblrのダッシュボードには、自分の投稿だけでなく運...
[2768] Posted by kagahiro at 2017/06/14 10:48:17
0 point | Link (1) | Trackback (0) | Comment (0)

MySQLでは、DELETE文でLIMIT句とORDER BYを使用して上位n件のレコードを削除することができます。削除前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行...
[2552] Posted by kagahiro at 2016/05/12 11:11:37
1 point | Link (4) | Trackback (1) | Comment (0)

xVideoServiceThiefは、YouTube、USTREAM、Yahoo! Video、YourFileHostなど様々な動画共有サイトの動画を、AVI、WMV、MPEG1、MPEG2、MP4、MP4 HD、3GP、MP3形式またはApple iPod、Sony PSP用に変換できるオープンソー...
[2168] Posted by kagahiro at 2012/04/18 16:49:35
0 point | Link (6) | Trackback (0) | Comment (0)

FC2, Inc.運営の携帯での再生・投稿にも対応した無料動画共有サイト「FC2動画」FC2動画とはFC2動画公式FC2動画アプリFC2動画の使い方FC2動画のまとめFC2動画のダウンロードFC2動画とはFC2動画は、FC2, Inc.が運営して...
[2170] Posted by kagahiro at 2012/04/19 02:51:29
0 point | Link (15) | Trackback (0) | Comment (0)

InoPedia(イノペディア)は、江戸時代に精巧な日本地図を作成した測量学者の伊能忠敬(いのうただかた、1745年2月11日〜1818年5月17日)と伊能図とに関する百科事典サイトで、伊能忠敬に関する資料や日本全国の伊能...
[1850] Posted by kagahiro at 2010/05/05 15:51:11
0 point | Link (1) | Trackback (0) | Comment (0)

動画共有サイト「YouTube」で将棋の対局実況や棋譜、手筋、詰将棋の解説、ライブ配信などを行っているおすすめの将棋系ユーチューバー(YouTuber)のチャンネル。将棋実況チャンネル【クロノ】将棋ユーチューバーと...
[2785] Posted by kagahiro at 2017/06/23 17:04:33
0 point | Link (1) | Trackback (0) | Comment (0)

TypeScript(タイプスクリプト)は、Webアプリケーションの開発に広く利用されているJavaScriptに、クラス(Class)やモジュール(Module)となどといった大規模開発に役立つ言語機能を追加したもので、コンパイルに...
[2317] Posted by kagahiro at 2013/06/24 16:47:58
0 point | Link (3) | Trackback (0) | Comment (0)

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


アクセスランキング

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (214 PV)
  2. Google News (グーグルニュース)日本版 (21 PV)
  3. グーグルニュース日本語版が見れない (9 PV)
  4. [ch225] 「世界の株価リアルタイムチャート」 (8 PV)
  5. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (8 PV)
  6. Google Finance(グーグルファイナンス、英語)- リアルタイム株価情報、金融ニュース、日本株 (7 PV)
  7. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (7 PV)
  8. フリーソフトウェア/オープンソースのタブー (7 PV)
  9. ウェブページを1回だけリロード(再表示)する方法 (6 PV)
  10. [食べ物]七草粥(ななくさがゆ) (4 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2669 PV)
  2. グーグルニュース日本語版が見れない (580 PV)
  3. Google News (グーグルニュース)日本版 (574 PV)
  4. [将棋]竜王戦第三局は居飛車振り飛車の対抗型で丸山忠久九段が勝利 #竜王戦 (317 PV)
  5. フリーソフトウェア/オープンソースのタブー (291 PV)
  6. [食べ物]七草粥(ななくさがゆ) (272 PV)
  7. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (211 PV)
  8. ウェブページを1回だけリロード(再表示)する方法 (130 PV)
  9. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (122 PV)
  10. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (121 PV)

アクセス統計

ディレクトリ

関連サイト