UTF-8 と UNICODE の変換


公開 (UL): 2020-05-04
更新 (UD): 2020-05-04
閲覧 (DL): 2020-08-09

この記事のもくじ

前の記事

2020-05-04
エスケープ文字変換/復元

次の記事

2020-06-07
存在不明のパス名からディレクトリを構築する

最近の記事

2020-03-23
準プレーンテキスト形式
2019-12-06
プレーンテキスト文字化けのブラウザとサーバ対策
新着情報

新着情報 Recent docs.

Sorry, but almost these pages are only Japanese.
貧乏人を殺す行政の構造 «Structurally, the administrators kill the poors in Japan.»
ヘタすると多摩川に流されるところだった台風 19 号

 ↑
この記事に対する調布市の反応
「事故防シート」について «Cared persons taking with "Jiko-​Bow-​Sheet" prevents from accidents.»
介護現場の負担軽減と事故防止のアイデア
表計算ソフトに「個人情報保護機能」を仕込む方法 «Prevention to leak private-data with spread-​sheet macro function.»
「漏えい」のためのフェイルセーフ
和易ゐ記 (WAI-WIKI) «WAI-WIKI is light­weight markup language for Japanese, and generates HTML on this server on-​demand.»
当サイトで開発/使用中の日本語向けに特化した軽量マークアップ言語
リンク違ってました。すいません。
▼ キーボードの「キー」の詳しい使い方 «The detail about the KEY on keyboard.»
キーボードの個々の「キー」が持つ機能の詳しい説明

人気記事 Frequent view pages.

表計算で「令和」に対応する方法
How to adapt Gengo "Reiwa" on spreadsheet applicaiton.

古いアプリも OK。「表計算 令和」の検索結果上位御礼!
Wary-Basher (ワリバッシャー)
DIY device that enables the handicapped to operate many things with a switch like push-button.

障害者の様々な操作をスイッチ操作で実現する器具。キットも発売中!

ご支援 Support this site.

この活動をご支援いただける方はこちらへ
Could you support this site, see here (but Japanese).

● perl の場合

◆ UNICODE(int16)→UTF-8

 16 ビット限定なら,ある程度簡単なのだが……。

▼ perl で UNICODE(int16)→UTF-8
  sub UC16toUTF8 { # (int16)
    my $c = $_[0];
    return ( $c < 128 )? chr( $c ):
	( ($c < 0x800 ? (chr( 0xC0 +( ($c >> 6)& 0x1F ) ) ):
	  (chr( 0xE0 +( ($c >> 12)& 0x0F ) ).
	   chr( 0x80 +( ($c >>  6)& 0x3F ) ) )
	). chr( 0x80 +(  $c & 0x3F ) ) );
  }

 3行めにある条件式を ( $c < 128 && $c != 0 ) にすると,C言語の ASCIZ 文字列内で「ヌル文字('¥0')」を扱う時にも使えるはず。
 この場合「サロゲートペア」は 16 ビット超えコードにはならずに,3×2=6バイトになっちゃうので,あくまで限定的仕様。



© M.Ishikawa; TREEWARE 2020.