Unicodeの¥U1234な文字を読めるようにするには・・・(VB.NET)

めちゃくちゃ久しぶりの更新・・・

実は久しぶりにユニコード関係で苦しんだので

せっかくなのでメモします。

あ、ちなみにVB.NET(.net1.1)の話です。

もうサポートされてないじゃん www

文字コードの何が困るって・・・

文字コード問題は

  • エンコードなんだか
  • デコードなんだか
  • エスケープなんだか

とかいろいろあって

でも、久しぶりだとさっぱり忘れてるんだよね・・。

エスケープされたユニコードを
アンエスケープしたい!

例えばこんな感じ

\u30b5\u30fc\u30d0\u30fc

うっ、っと思うと思う^^;

これってどういう状態なのかと言うと、

「エスケープされたユニコード」

って言う感じらしい。

¥uでユニコードだよって教えておいて、そのあとの4桁でなんの文字かを指し示してる。

これを文字に戻せば良いんだけど・・・とにかく情報が出てこない・・!

「ユニコード 変換」

とか検索してもろくな情報がない・・・

 

【C#】Unicode 文字列から Shift-JIS 文字列に変換して返す拡張メソッド

↑かなり近い!んだけど、なんか余計なことをしてる気がする。

そもそもブラウザではあっさり文字コードから文字を表示できてるわけで

こんな複雑なわけない。

 

[C#] Unicode文字列をUnicodeスカラ値に変換する

あのコードは「スカラ値」というらしい・・・というか逆だし、もっとシンプルに解決方法がほしいんじゃ・・・!

 

答えは過去に作った自作ツールの中にあり・・・

過去のメモをいろいろ漁ってると・・・

VB.netでユニコードエスケープ(u~)を読めるようにしてみる

のメモあり・・

あれ・・・すでに実装済み?!全く覚えてない!!!

 

str = System.Text.RegularExpressions.Regex.Unescape( str )

たったこんだけ!!

うっはー、まじかよ・・・。

 

”ユニコードはエスケープ(アンエスケープ)”

っていうことがわかれば一発です。。。

うーん、難しい(私には。。。)