掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
auの絵文字付きメールを携帯で送信するには? (ID:147013)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> PCからauの携帯に絵文字を使ったメールを送りたいと考えていて、 > とりあえず太陽の絵文字を件名に入れたいのですが上手くいきません。 絵文字を扱うのであれば、機種の違いにもご注意を。 http://www.au.kddi.com/ezfactory/tec/spec/3.html > 前と後ろにESC$B (JIS-1983)やESC(B (ASCII)がつくのは決まりごとなのでしょうか? ISO-2022-JP の場合、エスケープシーケンスを使って文字集合を 切り替えることで、同じバイナリを別の文字として処理しています。 具体的には、 1B,28,42「{Esc} ( B」が来ると ASCII 1B,28,4A「{Esc} ( J」が来ると JIS X 0201-1976 1B,24,40「{Esc} $ @」が来ると JIS X 0208-1978 1B,24,42「{Esc} $ B」が来ると JIS X 0208-1983 です。(詳細については、RFC1468 を参照して下さい) エスケープシーケンスを取り除いてしまうと、たとえば 24,22=「あ」=「$"」 22,24=「△」=「"$」 のように、別の文字列が同じバイナリになってしまう可能性が出てきます。 > 7541は、太陽の絵文字のJISコードなので、 とは限りません。ASCII の「uA」2文字の場合も、75,41 となるからです。 それが絵文字と確定している場合に限り、{Esc}$B のエスケープシーケンスを付与してください。 Dim Q() As Byte = {&H75, &H41} Dim bin As New List(Of Byte)() bin.AddRange(New Byte() {&H1B, &H24, &H42}) '{Esc}$B:JIS X 0208-1983 bin.AddRange(Q) bin.AddRange(New Byte() {&H1B, &H28, &H42}) '{Esc}(B:ASCII Dim result As String = System.Convert.ToBase64String(bin.ToArray()) ちなみに通常の環境では、System.Text.Encoding.GetEncoding で得られるエンコードに、 絵文字に対応したものは用意されていなかったと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.