Symfoware

Symfowareについての考察blog

JavaScriptでnative2asciiとascii2native

Javaで設定ファイル中に日本語を記載するとき、asciiに変換しなくては
いけない場合があります。

通常は、native2asciiやascii2nativeを使って変換するのですが、
設定ファイルの一行だけ、何が書いてあるか確認したい。という時があったので、
JavaScriptでnative2asciiとascii2nativeを書いてみました。

※内容は結構適当です。


  1. <html>
  2. <head>
  3.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  4.     <title>JavaScriptでnative2ascii</title>
  5.     <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
  6.     <script type="text/javascript">
  7.     $(function() {
  8.         
  9.         $("#n2a").click(function() {
  10.             
  11.             var raw = $("#in").val();
  12.             var result = "";
  13.             
  14.             while(true){
  15.                 if (raw.length == 0) break;
  16.                 var t = raw.substring(0,1);
  17.                 raw = raw.substring(1);
  18.                 var tmp = t.charCodeAt().toString(16);
  19.                 if (tmp.length >= 4) {
  20.                     result += "\\u" + tmp;
  21.                 } else {
  22.                     result += t;
  23.                 }
  24.             }
  25.             $("#out").val(result);
  26.         });
  27.         
  28.         $("#a2n").click(function() {
  29.             var raw = $("#in").val();
  30.             var result = "";
  31.             while(true) {
  32.                 if (raw.length == 0) break;
  33.                 var index = raw.indexOf("\\u");
  34.                 if (index == -1) {
  35.                     result += raw;
  36.                     break;
  37.                 }
  38.                 if (0 < index) {
  39.                     result += raw.substring(0, index);
  40.                 }
  41.                 if (index + 6 <= raw.length) {
  42.                     var tmp = parseInt(raw.substring(index + 2, index + 6), 16);
  43.                     result += String.fromCharCode(tmp);
  44.                     raw = raw.substring(index + 6);
  45.                 } else {
  46.                     break;
  47.                 }
  48.             }
  49.             $("#out").val(result);
  50.         });
  51.     });
  52.     </script>
  53. </head>
  54. <body>
  55.     <h3>JavaScriptでnative2ascii</h3>
  56.     変換対象<br/>
  57.     <textarea id="in" style="width:400px;height:50px;"></textarea><br/>
  58.     <input type="button" id="n2a" value="native2ascii">
  59.     <input type="button" id="a2n" value="ascii2native"><br />
  60.     変換結果<br/>
  61.     <textarea id="out" style="width:400px;height:50px;"></textarea><br/>        
  62. </body>
  63. </html>




動くサンプルはこちら。
JavaScriptでnative2ascii



native2ascii実行

02_001_20120428093210.png


ascii2native実行

02_002_20120428093209.png



関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2012/04/28(土) 09:32:41|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Windows Server 2008 R2でSymfowareのODBC接続が作成できない | ホーム | 日本語と英語のキーボードレイアウト対応メモ(抜粋)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/925-5bba85b2
この記事にトラックバックする(FC2ブログユーザー)