JavaScriptでescapeでエンコードした文字列をJSPで取得しデコードするにはどのようにしたらよいのでしょうか?
JavaScriptで言うところのunescapeにあたるメソッドはJavaでは何になるのでしょうか?
URLDecoder.decodeを利用して

String P = "";
P = URLDecoder.decode("%u304A%u306F%u3088%u3046","UTF-8");

としていますが、上手くデコード出来ません。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

URLDecoder.decode


は%uhhhhの形式を理解しないようです。

URLDecoder.decode("%30%4A%30%6F%30%88%30%46","UTF16");
でデコードできるのは確認したので、
単純には、
%uHHhh→%HH%hhに変換してやればいいことになると思います。
変換には、
String str = "%u304A%u306F%u3088%u3046";
str = str.replaceAll("%u(..)(..)","%$1%$2");
としてやればいいと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q携帯のサイトはパソコンからアクセスできない??

携帯用のサイトってパソコンからはアクセスできないんですか?
無料サイトか有料サイトで変わるんですか?
有料サイトにパソコンからアクセスしたら代金は?

教えてください。

Aベストアンサー

取りあえず実験してみたら良いでしょう。
参考URLにあるようなパソコンから携帯サイトを見るためのブラウザもあります。

有料サイトにパソコンからアクセスしたら、パケット代金はかかりません。有料サイトから登録に入られ、課金情報を相手サイトに教えて、サービスを使い始めたら、代金はかかります。

参考URL:http://www.webdb.co.jp/~atsumi/bpb/

QJquery a href="javascript:名前('.$データ.')">の方法でString(文字)を渡す方法

一部不備ありましたので、再度質問です。。
すみません
初めまして、jqueryを勉強し始めている初心者です。。
a href="javascript:名前('.$データ.')">の方法で
データにString(文字)を持たせ、JQUERYを利用して、別のphpファイル(testo2.php)に値を渡し、
そのphpファイル(testo2.php)そのloadで読みたいのですが、うまくいきません
この方法ではできないのでしょうか?
このa href="javascript:名前('.$String型.')の方法を何とか
利用したいと思ってますので、ご存知の方いましたら、
教えていただけないでしょうか。。。?
また別方法があれが教えていただけないでしょうか?
(input hidden 等以外のa href="javascript:名前('.$String型.')的な方法)
何度もすみません。。。
何ぶん、勉強初めて、1ヶ月弱のため、不備等がれば、すみません。
環境、jquery1.4, PHP5.0, eclipse3.5


//-----testo1.php
<html>
<head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript" src="tes.js"></script>
<title></title>
</head>
<body>
<?php
//$id=1;(数字)の場合は値はわたせる、String 型の値の渡し方
//<a href="javascript:名前('.$文字列(String型).')">前のページ</a>
//でJQUERYを利用して、別のphpファイル(testo2.php)にを渡し
//loadで読みたい。
$id='文字列aaa';
<a href="javascript:value('.$id.')">前のページ</a>
?>
<div id="box">ここに値を表示したい</div>
</body></html>

//----tes.js
function value(id)
{$("#box").load("php/tt.php",{id:id});}

//------testo2.php
<html>
<head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript" src="tes.js"></script>
<title></title>
</head>
<body>
<?php
echo $_POST['id'];//文字列String型を受けたい。
?>
</body></html>

一部不備ありましたので、再度質問です。。
すみません
初めまして、jqueryを勉強し始めている初心者です。。
a href="javascript:名前('.$データ.')">の方法で
データにString(文字)を持たせ、JQUERYを利用して、別のphpファイル(testo2.php)に値を渡し、
そのphpファイル(testo2.php)そのloadで読みたいのですが、うまくいきません
この方法ではできないのでしょうか?
このa href="javascript:名前('.$String型.')の方法を何とか
利用したいと思ってますので、ご存知の方いましたら、
教えていた...続きを読む

Aベストアンサー

よく見ると、tes.jsのjavascriptも間違ってます。
function value(id)
{$("#box").load("php/testo2.php",{id:id});}
でしょう。

何か、意図してることが、さっぱりわかりません。

Q最高裁判所のサイトにアクセスできないのですが

http://www.courts.go.jp/
ここ2日ほど最高裁判所のサイトにアクセスできないのですが、何かあったのでしょうか?
「このページではこのページは表示できません」と表示されます。
もしかしたらアクセスできないのでは自分だけでしょうか?

Aベストアンサー

サーバーの不調かと思われます。
私もアクセスできません。

Q【javascriptのescape関数】

【javascriptのescape関数】

javascriptとescape関数の説明に
「escape関数を用いると文字列をISO-Latin-1コードに変換してくれます。」
とあります。

ひらがなの「あ」は「%82%A0」となるらしいのですが、
(ブラウザごとに結果が異なり、自分が試したときはユニコードの「%u3042」へ変換されました)
Latin1ってひらがなはあつかえないとおもってたのですがどういうことでしょうか。
ユニコードの「あ」の3042は符号化文字集合表に定義されているので理解できましたが、
latin1の表http://hp.vector.co.jp/authors/VA014833/HTML32/H …
に「あ」は含まれないので理解できませんでした。

どなたかご教示ください。

以上宜しくお願い致します。

Aベストアンサー

>Latin-1の範囲に含まれない文字を16進で表示する、とありますが、その変換ルールはどのように決まるのでしょうか??

文字コードを16進表示して%を前置したものです。

>Latin-1は符号化文字集合の1つなので、Latin-1で定義された文字を表すコードは、文字符号化方式に依存しないと認識していましたが

Latin-1はISO-8859-1という文字集合及びエンコード方式のことです。Unicodeは既存の文字集合を全部含んでいるので、当然その一部にLatin-1文字集合を含みます。

UnicodeはISO-8859-1をコードそのままu0000-u00ffに含んでいるので、ISO-8859-1エンコードと、UnicodeのISO-8859-1文字セット部分のコードは先頭のゼロを除けば一致しますが、これは世界中の文字集合からすると例外的です。JIS文字セットの日本語文字集合はUnicode文字集合に含まれますが、コードは全く異なります。

>ユニコードの「あ」は符号化文字方式がなんであれ、3042と認識しています。

これは正しいですが、シフトJISの「あ」は 82A0 だし、EUC-JPの「あ」は、A4A2 です。JIS区点コードなら4区2点。

>Latin-1の範囲に含まれない文字を16進で表示する、とありますが、その変換ルールはどのように決まるのでしょうか??

文字コードを16進表示して%を前置したものです。

>Latin-1は符号化文字集合の1つなので、Latin-1で定義された文字を表すコードは、文字符号化方式に依存しないと認識していましたが

Latin-1はISO-8859-1という文字集合及びエンコード方式のことです。Unicodeは既存の文字集合を全部含んでいるので、当然その一部にLatin-1文字集合を含みます。

UnicodeはISO-8859-1をコードそのままu0000...続きを読む

Q学校裏サイトなどに、子どもの携帯電話からアクセスできないようにする

学校裏サイトなどに、子どもの携帯電話からアクセスできないようにする方法はありますか。各社で行っているフィルタリングサービスを実行すればできなくなるのでしょうか。

Aベストアンサー

ドコモの場合ですが、フィルタに2種類あります。
・キッズiモードフィルタ
iモードメニューサイトのみ。メニューサイトでも制限ありの場合も。
・iモードフィルタ
フィルタ会社から提供されるDBを元に制限。

キッズiモードフィルタなら、公式サイト以外アクセスできないので効果あると思いますが、有名、有料サイトでも公式でない場合制限されるので、使い勝手が悪い面も?
iモードフィルタは、URLを元に制限します。学校裏サイトのような場合、個人的(身内のみ)かつ検索でも引っかからないような場合が多く、元になるURLがわからないのでたぶん制限できないと思われます。

http://www.nttdocomo.co.jp/service/imode/menu_site/access_limit/index.html

Q\u30ad\u30fc\u30dc・・・という記述について

http://oshiete1.goo.ne.jp/qa4349103.html

と関連するような質問なのですが・・・

Gmailで「?」を押すとショートカットキー一覧が出ますが、その部分(の一部?)のソースコードは以下のようになっています。

try{var zza="ou5Ep",Aza='" role="alert" tabindex="-1"><table class="',Bza="tW5bCc",vF='"><tr><td class="',Cza="Xfqc1d",Dza="\u30ad\u30fc\u30dc\u30fc\u30c9 \u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8",wF='</td><td class="',Eza="AsLFV",Fza='">

以下略。

そこで質問させていただきたいのですが、「\u30ad\u30fc\u30dc\u30fc\u30c9 \u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8」の部分、
これはいったいなにものでしょうか?

http://homepage3.nifty.com/jgrammar/ja/tools/codeval0.htm
に書いてあることが答えなのかな・・と思ったのですが・・・いまいち分からず・・・
特に、なぜ、「\uxxxx」(x の部分は16進法書式?)という形式なのでしょうか?(JavaScript固有の書式?)

また、なぜ、UTF-8で「あいうえお」のように書かないのでしょうか?このようにすることでなにかメリットがあるのでしょうか?

よろしくお願いいたします。

http://oshiete1.goo.ne.jp/qa4349103.html

と関連するような質問なのですが・・・

Gmailで「?」を押すとショートカットキー一覧が出ますが、その部分(の一部?)のソースコードは以下のようになっています。

try{var zza="ou5Ep",Aza='" role="alert" tabindex="-1"><table class="',Bza="tW5bCc",vF='"><tr><td class="',Cza="Xfqc1d",Dza="\u30ad\u30fc\u30dc\u30fc\u30c9 \u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8",wF='</td><td class="',Eza="AsLFV",Fza='">

以下略。

そこで質問させて...続きを読む

Aベストアンサー

\uXXXX というのは、文字列中でUnicode(UTF-16)形式で文字コードを
指定する方法です。

HTMLにおける &#xXXXX; とほぼ同様と思っていいと思います。
これは、C(C++?)でも対応しているはずです。
因みに、Gmailってたぶん、海外で作成されているんですよね。
なので、日本語文字を普通にIME入力できないからコード入力している
だけじゃないでしょうか。

QWebサイトにアクセスできないケースがある

SunOS 5.8でApache1.3.12を使い、Webを立ち上げています。
セキュリティ上の問題で、http,telnet,ftpのデフォルトのポート以外は、閉じています。
たいていの場合、ここへのアクセスは可能のようですが、
わずかながら、こちで立ち上げているサイトに接続できないと主張する友人がいます。
同じプロバイダを利用している人でも、
アクセスできる人と、アクセスできない人がいるようです。
アクセスできない場合は、IPアドレスを直接指定してもダメのようです。
原因が全くわからないのですが、どんなことが考えられるでしょうか?

Aベストアンサー

apacheのaccess_logや、messagesなどに、接続失敗のログが残ってないかを確認してみては。

クライアント側で、telnetを使って、ポート80番につないでみて、接続を確立できるか、
接続できたら、「head / HTTP/1.0」とか打って、ちゃんと応答が返るか、
名前式仮想ホストを使っていたら、ヘッダーHostも合わせたHTTP1.1な要求を送って、どうなるかを確認する、とか。

QURLEncoderとURLDecoderの使い方について

はじめまして。javaの初心者です。
質問があります。以下のソースコードで、
----------------------------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS"
import="java.net.URLEncoder" %>
<html>
<body>
<p>送信元 Test01.jsp</p>
<%
String query = URLEncoder.encode("テスト","Shift_JIS");
String url "http://localhost:8080/Test/Test02.jsp?name="+query;
%>
<a href="<%=url%>">送信</a>
</body>
</html>
----------------------------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS"
import="java.net.URLDecoder" %>
<html>
<body>
<p>送信先 Test02.jsp</p>
<%
String str = request.getParameter("name");
String name = URLDecoder.decode(str,"Shift_JIS");
%>
<%= name %>
</body>
</html>
----------------------------------------------------------------
リンクに日本語をエンコードした文字列をクエリとして追加して
送信すると、送信先で表示したとき文字化けしてしまいます。
setCharacterEncoding("Shift_JIS")などを送信先に指定すると
文字化けは回避できるのですが、それではURLEncoderやURLDecoder
を使用している意義がないのではないかと思っています。
なぜ文字化けしてしまうのかをご教授お願いします。
現在WindowsXP IE6.0 Tomcat5.5 JDK1.5を使用しています。

はじめまして。javaの初心者です。
質問があります。以下のソースコードで、
----------------------------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS"
import="java.net.URLEncoder" %>
<html>
<body>
<p>送信元 Test01.jsp</p>
<%
String query = URLEncoder.encode("テスト","Shift_JIS");
String url "http://localhost:8080/Test/Test02.jsp?name="+query;
%>
<a href="<%=url%>">送信</a>
</body>
</html>
-----------------------...続きを読む

Aベストアンサー

参考URLのような問題があるみたいですね。
(Versionが違うからはっきりとしたことがいえませんが・・・・。)

もしApacheのcommonsを使用できる環境にあるならば
org.apache.commons.codec.net.URLCodec
でおそらく解決できるのではないでしょうか・・・?
(検証していないのではっきりとしたことはいえませんが・・・。)

参考URL:http://senrigan.ddo.jp/candid/urlencode.html

Q海外(欧州)から日本の特定のサイトにアクセスできない!

現在ヨーロッパに住んでいるのですが、日本の特定のサイト(主に私立学校のサイト)にアクセスする事が出来なくなり困っております。
1ヶ月ほど前までは普通にアクセスできていたのですが…。
ちなみに、アクセスできないのはこれらのサイトです。
http://www.kokugakuintochigi.ac.jp/chuugaku/
http://www.urajitsu.ed.jp/jh/index.html
http://www.sanonihon-u-h.ed.jp/junior/chugaku/index.html
一応直接問い合わせてみたところ、日本では問題無く見られるということなのですが、サーバーの方で海外からのアクセスを制限しているという可能性はあるのでしょうか?その場合はもう海外からのアクセスは諦めるしかないのでしょうか…。
 どうにかして(合法的に)アクセスする方法があれば教えてください。よろしくお願いいたします。

Aベストアンサー

No.1です。何度も申しわけありません。
国学院栃木中学校だけは質問者さまが記入されたURLでも
行くことができますので、もしかしたらアンチウィルスソフトが
邪魔をしているのかな?と思いました。

よろしければこちらを試してみてください。(Windows)
「このページは開いてもOK」と認識させると次回からOKなことがありますよ。
http://linkshare.okweb3.jp/EokpControl?site=default&lang=ja&tid=10365&event=FE0006

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど


人気Q&Aランキング

おすすめ情報