ファイル名の文字列
現在つかってるサーバに日本語のファイルを転送すると、文字が化ける。
そしてそのままUbuntuのGnomeのFTP機能でファイル転送を行うと、さらになんかおかしくなる。
わけわからんのでちょっと数値を見て解析してみる。
使用したのは「志方あきこ」の「RAKA」っていうアルバム。
ディレクトリ名は既に手元で修正している。
まず以下のプログラムで文字列を数値で表現してみる。
#include <stdio.h> #include <string.h> int main(char argc, char **argv) { int i; if(argc==1) return -1; for(i=0;i<strlen(argv[1]);++i) { printf("%x ",(unsigned char)argv[1][i]); } printf("\n"); printf("%s\n",argv[1]); }
yuki@yuki-desktop:~$ gcc filename.c
yuki@yuki-desktop:~$ ./a.out 志方あきこ\ -\ RAKA/*
e5 bf 97 e6 96 b9 e3 81 82 e3 81 8d e3 81 93 20 2d 20 52 41 4b 41 2f 30 31 20 91 e5 92 6e 82 cc 8c db 93 ae 2e 6d 70 33
志方あきこ - RAKA/01 ���n�̌ۓ�.mp3
次に
http://ja.wikipedia.org/wiki/UTF-8
http://www.psl.ne.jp/perl/pdojo00b.html
http://ja.wikipedia.org/wiki/EUC-JP
この辺でも参考にして一字ずつ解析していこうと思う。
もし全てUTF-8ならば、
00-7fがASCII
e0-efだとその後2バイトあわせて漢字
となるはず。