質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1370閲覧

Cookieの中にはいっている値(データ)をエンコードしたい

haruniku

総合スコア527

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/02/24 13:26

編集2018/02/25 04:33

いつもお世話になっております。
javascript初心者です。

現在、Cookieの勉強中でCookieの中に入っている値をエンコードにした状態にしたいです。
ご教示の程、宜しくお願いします。

現状

Cookie名:dD; 入っている値:1qa2ws3ed;

やりたいこと

(例)1qa2ws3ed → %e3%83%86%e3%82%b9%e3%83%88 Cookie名:dD; 入っている値:%e3%83%86%e3%82%b9%e3%83%88;

試したこと①

//Cookie削除 var date1 = new Date(); date1.setTime(0); document.cookie="dD=;path=/;expires=" + date1.toGMTString(); var sss = "1qa2ws3ed"; sss = encodeURI(sss); //Cookie発行 var ytdt; ytdt = new Date(); ytdt.setTime(ytdt.getTime() + 60*60*1000); ytdt = ytdt.toGMTString(); ytdt = ";expires=" + ytdt; document.cookie = "dD=" + sss + ";path=/";

試したこと①でやっても上手くエンコードされません。
色々検索してみましたが、あまり参考となる方法がなかったのでこの場を借りて質問させて頂きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/02/24 20:00

「エンコードにした状態」とはどういう値を期待しているのでしょうか。
haruniku

2018/02/25 04:30 編集

こんにちは。 特殊なコード(記号や英数字の羅列)に変換したいです。 例:1qa2ws3ed → %e3%83%86%e3%82%b9%e3%83%88
guest

回答2

0

ベストアンサー

特殊なコード(記号や英数字の羅列)に変換したいです。

そもそも1qa2ws3ed が英語と数字の羅列です。

パーセントエンコーディング のことを勘違いされているのでは。

【パーセントエンコーディング - Wikipedia】
https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0

【その文字列はセーフ? 本当は奥深いデコード処理:もいちどイチから! HTTP基礎訓練中(4) - @IT】
http://www.atmarkit.co.jp/ait/articles/0801/18/news124.html

URLに含まれる非ASCII文字および一部のASCII文字が「%xx」の形に変換される

投稿2018/02/25 05:06

kei344

総合スコア69366

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

haruniku

2018/02/26 17:28

なるほど!勉強になりました。ありがとうございます
guest

0

文字列だとうまくいきます

(例)"1くぁ2ws3えd"; Cookie名:dD; 入っている値:%EF%BC%91%E3%81%8F%E3%81%81%EF%BC%92%EF%BD%97%EF%BD%93%EF%BC%93%E3%81%88%EF%BD%84

アルファベットの場合でパーセントエンコードする場合は文字列から数値型に変換しなければいけないのでしょうか?

投稿2018/02/26 17:06

編集2018/02/26 17:09
haruniku

総合スコア527

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/02/26 17:16

英数字以外の文字列や記号を無害化するためのエンコードなので、英数字をパーセントエンコードすることはできません。(全角英数除く)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問