iconv
iconv(アイコンブ)は
iconv API
[iconvのAPIは、おもにUNIX
iconv APIは
互換 性
[XML
Microsoft Windows
プログラミング
- PHP
- PHPスクリプトからiconvの
機能 を利用 することができる(WindowsのPHPでも付属 のDLL (iconv.dll)により利用 可能 )。 - バージョン1.9
以前 のRuby - それ
以降 のバージョンではそのプラットフォーム依存 性 から非 推奨 扱 いになっており、String#encodeを代替 とする。
日本語 の対応 状 況
[GNU Cライブラリのiconvでは2019
使用 例
[ここでは、Shift_JISのテキストファイルsjis.txtを、UTF-8に
シェルからiconvコマンドで変換 する場合
[iconv -f Shift_JIS -t UTF-8 sjis.txt > utf8.txt
自作 プログラムからiconvライブラリを使用 し変換 する場合
[ただし、
#include <stdio.h>
#include <iconv.h>
#define S_SIZE (1024)
int main(void) {
iconv_t icd;
FILE *fp_src, *fp_dst;
char s_src[S_SIZE], s_dst[S_SIZE];
char *p_src, *p_dst;
size_t n_src, n_dst;
icd = iconv_open("UTF-8", "Shift_JIS");
fp_src = fopen("sjis.txt", "r");
fp_dst = fopen("utf8.txt", "w");
while (1) {
fgets(s_src, S_SIZE, fp_src);
if (feof(fp_src))
break;
p_src = s_src;
p_dst = s_dst;
n_src = strlen(s_src);
n_dst = S_SIZE-1;
while (0 < n_src) {
iconv(icd, &p_src, &n_src, &p_dst, &n_dst);
}
*p_dst = '\0';
fputs(s_dst, fp_dst);
}
fclose(fp_dst);
fclose(fp_src);
iconv_close(icd);
return 0;
}
脚注
[外部 リンク
[- コマンド
- ライブラリ・ルーチン
- オンライン
版 のiconvコマンド(英語 ) - GNUのCライブラリiconv(
英語 )