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 )
たったこんだけ!!
うっはー、まじかよ・・・。
”ユニコードはエスケープ(アンエスケープ)”
っていうことがわかれば一発です。。。
うーん、難しい(私には。。。)
ディスカッション
コメント一覧
まだ、コメントがありません