文字列とUTF16と16進数について調べているときに作った相互変換機能です
いずれかの入力欄に変換したい値を入れると他の2つの値が自動で表示されます
例:
文字列に「a」と入力するか
UTF16に「97」と入力するか
16進数に「61」と入力すると以下のように他の2つの値が自動で埋まる
サロゲートペア対応版はこちら
HTML Serviceで作ってみる
コード.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("index"); } |
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html> <html> <body> <table> <tbody> <tr> <td> <label>文字列</label> </td> <td> <input type="text" id="str"> </td> </tr> <tr> <td> <label>UTF16</label> </td> <td> <input type="text" id="utf16"> </td> </tr> <tr> <td> <label>16進数</label> </td> <td> <input type="text" id="hexadecimal"> </td> </tr> </tbody> </table> <script> var str = document.getElementById("str"); var utf16 = document.getElementById("utf16"); var hexadecimal = document.getElementById("hexadecimal"); str.onkeyup = keyup; utf16.onkeyup = keyup; hexadecimal.onkeyup = keyup; function keyup() { switch (this.id) { case "str": get_utf16(); get_hexadecimal(); break; case "utf16": get_hexadecimal(); get_str(); break; case "hexadecimal": get_str(); get_utf16(); break; } } function get_str() { str.value = String.fromCharCode("0x" + hexadecimal.value); } function get_utf16() { utf16.value = str.value.charCodeAt(); } function get_hexadecimal() { hexadecimal.value = parseInt(utf16.value).toString(16); } </script> </body> </html> |
意訳これはHTML5文書です 文字列のラベル そのテキストボックス UTF16のラベル そのテキストボックス 16進数のラベル そのテキストボックス idがstrの要素を取得する idがutf16の要素を取得する idがhexadecimalの要素を取得する idがstrの要素でキーが上がったらkeyupを実行する idがutf16の要素でキーが上がったらkeyupを実行する idがhexadecimalの要素でキーが上がったらkeyupを実行する この機能がやること idによって処理を分ける idがstrなら get_utf16()と get_hexadecimal()を実行する idがutf16なら get_hexadecimal()と get_str()を実行する idがhexadecimalなら get_str()と get_utf16()を実行する この機能がやること strの値はhexadecimalの頭に0xを付けて文字列にした値を入れる この機能がやること utf16の値はstrの値をUTF16にした値を入れる この機能がやること hexadecimalの値はutf16の値を16進数にした値を入れる |
参考
String.fromCharCode()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
Number.prototype.toString()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
String.prototype.charCodeAt()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
parseInt()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/parseInt
String.fromCharCode()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
Number.prototype.toString()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
String.prototype.charCodeAt()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
parseInt()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/parseInt