vb .net で文字コードから漢字へ変換する方法を教えて下さい。
例えば
「花」という漢字のコードが"82b1"
これを、表示させるために
me.TextBox1.Text = 関数的なモノ("82b1")
というような事はできますか?
さらに、
「花」という漢字の異体字で草冠が++になっている文字が
"82b1"+"e0103"
これを、表示させるために
me.TextBox1.Text = 関数的なモノ("82b1","e0103")
というような事はできますか?
※IVS対応フォントと環境は既にあるものとします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Option Explicit On
Option Strict On
Option Infer Off
Option Compare Binary
Imports System
Imports System.Drawing
Imports System.Collections.Generic
Public Class Q8738210
Inherits System.Windows.Forms.Form
Private textbox1 As System.Windows.Forms.TextBox
Sub New ()
textbox1 = New System.Windows.Forms.TextBox ()
textbox1.Font = new Font ("IPAmj明朝", 48)
' 配列初期化子、拡張メソッド・ラムダ式といろんな文法が登場している。
' VBにはエスケープシーケンスがダブルクオートくらいしかないから。
' 注目はChar.ConvertFromUtf32だ。リファレンスを見て、このメソッドが例外を投げるケースはどんな場合か確認しておこうね。
' http://msdn.microsoft.com/en-us/library/system.c …
' その他、こちらも例外の範囲を確認しておこう。
' http://msdn.microsoft.com/en-us/library/microsof …
' http://www.atmarkit.co.jp/fdotnet/dotnettips/107 …
' ついでにこいつも読んでおく
' http://codezine.jp/article/detail/1592
' http://ja.wikipedia.org/wiki/UTF-8#.E3.82.B5.E3. …
textbox1.Text = (New List(Of Integer) From {&H82B1I, &HE0103I}).Aggregate("", Function(ByVal str As String, ByVal ch As Integer) (str & Char.ConvertFromUtf32(ch).ToString()))
Me.Controls.Add (textbox1)
' 後で読む(回答に反映する気はない)
' http://msdn.microsoft.com/en-us/library/1k20k614 …
' http://msdn.microsoft.com/en-us/library/system.g …
End Sub
Public Shared Sub Main()
Dim f As Q8738210 = New Q8738210 ()
f.ShowDialog ()
End Sub
End Class
No.2
- 回答日時:
IVS環境がなくて確認していませんが、草冠「++」の「花」は
CHRW(&H82B1) & CHRW(&HDB40) & CHRW(&DD00)
で出るはずです。
ここからの受け売り。
http://itpro.nikkeibp.co.jp/article/COLUMN/20100 …
ありがとうございます。
Me.TextBox1.Text = CHRW(&H82B1) & CHRW(&HDB40) & CHRW(&DD00)
だと
下記のエラーとなりました。
式が必要です。
'DD00' は宣言されていません。アクセスできない保護レベルになっています。
エラー箇所を修正すると
Me.TextBox1.Text = CHRW(&H82B1) & CHRW(&HDB40) & CHRW(&HDD00)
普通の花が出ました。
一旦、前半部分だけにしてみると
Me.TextBox1.Text = CHRW(&H82B1)
やはり普通の花が出ました。
ここで初めて
http://itpro.nikkeibp.co.jp/article/COLUMN/20100 …
を読んでみました。
U+845BとU+E0101の場合、
UTF-16であれば「845B DB40 DD01」
UTF-8であれば「E8 91 9B F3 A0 84 81」
うーん、サッパリ分からない。
UTF-8の方が馴染みがあるが、コードの中身は全く分からない。
UTF-16の方は、845Bの前半部分が同じなので、IVSコードから見たら、規則性が、まだ分かりそう。
U+845Bが「845B」なら、
U+E0101は「DB40 DD01」か?
いくつかのサンプルを見ると、
U+E01は「DB40 DD」?
単純に右の2けた以外は考えなくて良さそう。
考えが正しいかどうか分からない。
ただ、IVSフォントのところに、++の花が出る事が確認できた。
Me.TextBox1.Font = New Font("IPAmj明朝", 48)
Me.TextBox1.Text = ChrW(&H82B1) & ChrW(&HDB40) & ChrW(&HDD03)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#のループでtextboxに値を入れ...
-
Pythonでのかんたんな物理シミ...
-
datagridview の任意の行に三...
-
VB
-
ドラゴン曲線を再帰で書く
-
他のフォームから別のフォーム...
-
エクセルVBAでテキストボッ...
-
VBA public変数はどのようなこ...
-
チェックボックスを操作できな...
-
Excel ユーザーフォームで計算 ...
-
texで図と表を並べたい
-
VBAでcallで呼び出したsubを終...
-
RichTextBoxで指定行の色を自動...
-
VBでの入力値制限について
-
画像処理について。(移動)
-
レコードセットにnullの場合
-
Vba 電卓のテキストボックスに...
-
[VB6] SQLの作成について
-
VB.NETでのイベントの途中終了
-
SCALEの使い方教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#のループでtextboxに値を入れ...
-
String型の値にスラッシュをつ...
-
VB
-
VBA テキストボックスで計算
-
datagridview の任意の行に三...
-
g95プログラムからg++関数を呼...
-
テキストボックスを下から上へ...
-
再質問 エクセルVBAのコードを...
-
vb.net 文字コードから漢字へ変換
-
C# コントロール取得
-
VBA public変数はどのようなこ...
-
エクセルVBAでテキストボッ...
-
VBAでcallで呼び出したsubを終...
-
sublimit textっていうエディタ...
-
他のフォームから別のフォーム...
-
VB.NETでのイベントの途中終了
-
C言語のサフィックスについて
-
三項でたとえば交換って
-
【VB6.0】 あるフォームから他...
-
アクセスできない保護レベルエ...
おすすめ情報