No.1ベストアンサー
- 回答日時:
エスケープとは、「回避する」という意味の言葉で、実行エラーを回避するために用いるものです。
たとえば "abc"def" このように文字列の途中にダブルクオートが入ってる文章は、どこが終端なのかはっきりしないため実行エラーになります。
これを回避するため、"abc\"def" とエスケープするのです。
エンコードとは、直訳すれば「暗号化する」という意味になります。
URL欄には通常、日本語が使えません。これはURLという概念自体が英語圏で生まれたものだからです。
そこで、日本語を簡単な暗号にしてURLの中に埋め込むことで、この問題に対応します。
またこのエンコードという言葉は、巨大になりがちな動画データなどを効率よく保存するために小さく整理する処理にも用いられます。
No.2
- 回答日時:
おっしゃるとおり、JavaScriptではエスケープとエンコードが、用語として一緒くたになっているので
関数名だけで探すと混乱してしまいます。
ビルドイン関数で escape(string) ってのがありますが、これはunicodeへのエンコーダです。
GETでフォームを送信したときにURLに出てくる、%u3044%u308D%u306F みたいな文字列に直します。
「エスケープ」は、ソースを記述するときにダブルクォートやシングルクォート、¥マークなどを正しく認識させるために
「\」をその前に入れてやることを指します。
これは、ソースを記述するときの話なので、JavaScriptに専用の関数があるわけではなく、
手動で「\」を記述、またはサーバ側の関数で処理することになります。
1つ余談を加えておきますと、エスケープの作業はJavaScriptに慣れていても面倒で厄介なことが多々あります。
そういうときは、scriptタグを使うと便利なことが多いです。
(あんまし有名なやり方ではないですけどね)
こんな感じです
↓
<script type="text/plain" id="string0">
\n←ただの文字列として扱われる。
"'\ ←こういう記号も。
ただし、scriptタグ前後の改行もそのまま反映されるので注意
</script>
<script type="text/javascript">
var str0 = document.getElementById("string0").innerHTML;
alert(str0);
</script>
ちなみに、通常のエスケープでは、
(1) var text = 'ダブルクォーテーション""の前に円マーク'; // これは''の間に"が記述されているので\は不要です。このままでOK
(2) \\\" で「ダブルクォーテーションの前に¥マーク」です。前2つで「\」、その後の \" が「"」です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) スプレットシートの関数 3 2023/04/07 11:49
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- その他(プログラミング・Web制作) findコマンドでのグロッピング 4 2022/07/04 17:51
- スポーツサイクル 輪行袋 1 2023/05/18 18:01
- その他(プログラミング・Web制作) URLのエンコードで日本語は16進数に変換されると学びましたが、16進数とひらがなや漢字が対応してる 4 2022/08/04 17:08
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- グループウェア スプレッドシートのセルが〇色に塗られていたら、別のセルに文字(マーク)を追加する関数 1 2022/07/23 02:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リアルタイム時計をミリ秒まで...
-
できあいの数値代入ツールを教...
-
PHPでエスケープされた文字列を...
-
「終了していない文字列型の定...
-
ブラウザ上でjavascriptを編集...
-
Excelのマクロ一括実行ができな...
-
現在日付を初期値にするには
-
setTimeoutあるいはsetInterval...
-
「インラインフレームにリンク...
-
タブブラウザで focus() を実...
-
クリックすると下に説明文が出...
-
Vba SelStart、SelLen教えてく...
-
javascript で外部サイトにデー...
-
ページを一回だけリロードさせ...
-
鑑定や占いみたいなものを作り...
-
<input type="file">のイベント...
-
contenteditableで編集した内容...
-
【javascript】プロパティ?オ...
-
htmlとCSSでできる仕事
-
テキストファイルの更新日時を取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】ソースのコメン...
-
WebページまたはHTMLソースから...
-
WSH をC#で作ることは可能でし...
-
変換テーブルを使った、文字列...
-
コメント削除/圧縮/難読化
-
六曜カレンダー
-
リアルタイム時計をミリ秒まで...
-
文字列圧縮_
-
リロードしないと正常に表示さ...
-
javascriptでexcel閉じる
-
Java Script を.jsファイルを利...
-
PHPでエスケープされた文字列を...
-
javascriptで文字コード変更
-
拡大スクリプト・zoom_ブック...
-
if(1){...}とはどういうことで...
-
JavaScriptで ブラウザの閉じる...
-
Vba SelStart、SelLen教えてく...
-
ブラウザ自体の事じゃなくてJav...
-
VB.NET2003 テキストボックスに...
-
JSPの処理の途中で、JavaScript...
おすすめ情報