- 追加された行はこの色です。
- 削除された行はこの色です。
* UTF8フラグの操作(Encodeモジュール) [#s553221d]
*** UTF8フラグ無しの文字列にUTF8フラグを付ける。 [#ee1a06fc]
** UTF8フラグ無し → UTF8フラグ付き [#ee1a06fc]
$utf8_flag_text = Encode::decode('FROM_ENCODE',$no_utf8_flag_text)
*** UTF8フラグ付きの文字列を指定した文字コードに変換してUTF8フラグを落す。 [#b5dbd024]
$no_utf8_flag_text = Encode::encode('TO_ENCODE',$utf8_flag_text)
** UTF8フラグ付き →(文字コード変換)→ UTF8フラグ無し [#t1f756ba]
$no_utf8_flag_text = Encode::encode('TO_ENCODE',$utf8_flag_text) # $no_utf8_flag_txtの文字コードはTO_ENCODE
*** UTF8フラグ無しの文字列の文字コードの変換する。 [#n89c5816]
Encode::from_to($no_utf8_flag_text,'FROM_ENCODE','TO_ENCODE')
$no_utf8_flag_textは破壊的に変換される。
** UTF8フラグ無し →(文字コード変換)→ UTF8フラグ無し [#n728d09a]
Encode::from_to($no_utf8_flag_text,'FROM_ENCODE','TO_ENCODE') # $no_utf8_flag_textは破壊的に変換される
*** どの文字コードか調べる [#acea58bc]
$enc = Encode::Guess::guess_encoding($text,qw/euc-jp sjis/); # $textはUTFフラグ付きでも無しでもよい
# utf-8はデフォルトなので指定は不要
print $enc->name,"\n"; # "euc-jp"などと表示される
*** UTF8フラグ付きの文字列の文字コードを変換する [#j9953de7]
** どの文字コードか調べる [#acea58bc]
$enc = Encode::Guess::guess_encoding($text,qw/euc-jp sjis/); # $textはUTFフラグ付きでも無しでもよい
# utf-8はデフォルトなので指定は不要
print $enc->name,"\n"; # "euc-jp"などと表示される
** UTF8フラグ付き →(文字コード変換)→ UTF8フラグ付き [#e80a2937]
$text = Jcode->new($text,'utf-8')->euc;
Jcodeを使う。この場合、UTF8からEUC-JPへの変換。$textはUTFフラグ付きでも無しでもよい。
** 参考(perldoc) [#ee284602]
- [[Encode>http://search.cpan.org/perldoc?Encode]]
- [[Encode::Guess>http://search.cpan.org/perldoc?Encode::Guess]]
- [[Jcode>http://search.cpan.org/perldoc?Jcode]]