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ランキング
-
javascriptプログラムを日本時...
-
Vba SelStart、SelLen教えてく...
-
正整数の半角数字かどうか判定する
-
「終了していない文字列型の定...
-
初心者です。gulpでコンパイル...
-
javascript:void(0)とは何でし...
-
表示ページによって、aタグ内の...
-
ASPでエクセルの起動
-
VC#でテキストボックスに変数の...
-
C#でボタン名を変更しても動く
-
JavascriptでのExcel起動について
-
現在日付を初期値にするには
-
正規表現について
-
階層化されたメニューの作り方
-
Access VBAで、数字だけをチェ...
-
クロスドメインでクッキーの取得
-
c言語で「文字列(最大80文字)お...
-
ネットスケープでJavaScriptの...
-
JSでファイル数取得
-
javascriptの効かないサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】ソースのコメン...
-
WebページまたはHTMLソースから...
-
コメント削除/圧縮/難読化
-
変換テーブルを使った、文字列...
-
WSH をC#で作ることは可能でし...
-
六曜カレンダー
-
リアルタイム時計をミリ秒まで...
-
javascriptでexcel閉じる
-
リロードしないと正常に表示さ...
-
文字列圧縮_
-
Java Script を.jsファイルを利...
-
PHPでエスケープされた文字列を...
-
javascriptで文字コード変更
-
拡大スクリプト・zoom_ブック...
-
if(1){...}とはどういうことで...
-
Vba SelStart、SelLen教えてく...
-
JavaScriptで ブラウザの閉じる...
-
ブラウザ自体の事じゃなくてJav...
-
VB.NET2003 テキストボックスに...
-
JSPの処理の途中で、JavaScript...
おすすめ情報