バイト数が・・・

[上に] [前に] [次に]
とほほのほ [E-Mail] 2000/02/20(日) 19:46:39
Java Script についてなんですが、全角文字だけ入力できるようにするにはどうすればいいのでしょうか???
それと、文字列のバイト数をチェックするにはどうすればいいんでしょうか????
是非教えてください!!!

チャペル 2000/02/20(日) 20:03:42
../199912/99120238.htm

ここなんてどうでしょう?
「バイト」で検索すると結構出てきますよ。

とほほのほ [E-Mail] 2000/02/20(日) 21:19:15
チャペルさん、どうもありがとうございます。
ただ、escape()がIE.4.0でうまく動作しないかもしれないという話も聞きます。
そのへんはどうなんでしょうかねえ???
むずかしそうですねえ・・・

三原克大 [E-Mail] 2000/02/21(月) 00:28:28
私も不案内なところがありますが。

> むずかしそうですねえ…
むずかしそうです。

> ただ、escape()がIE 4.0でうまく動作しないかもしれないという話も聞きます。
どのような動作を求めるかによります。

IE 4.0 以降では String オブジェクトは Unicode に統一されました。
ソースコードを何で書こうと、フォームを何で書こうと、
スクリプトエンジンの中では Unicode に変換されています。
これが前提です。

escape() はもともと、URL の中に ISO-8859-1 に定義されているけれど
URL に使うことが許されない文字を入れたいときに
%xx の形の表現を得るために用意されたメソッドです。
これが ISO-88590-1 以外の文字コードで使われた場合の動作は、
突き放して書けば Undocumented でした。

後に、Unicode で定義されている文字をあらわすための表記が
FF を境に %xx と %uxxxx に分かれることに決まり、
IE 4.0 以降ではその仕様に従っています。
確かに escape() の文字列の長さは4より大きいのですが、
Netscape Communicator とは動作が異なります。
# Netscape Communicator の実際の動作を確認していなくて。
#

文字列のバイト数、という言葉も意地悪に解釈できて、
JavaScript の中で閉じている限りは 文字数x2 以外にありません。
# IE 4.0 以降と Netscape 4.06 以降では。
おそらく外部に出力する(フォームの引数でしょうか)から
問題になっているだろうと推測できる程度です。

解決に結びつけば幸いです。

とほほのほ [E-Mail] 2000/02/21(月) 09:22:56
[[解決]]
三原克大さんありがとうございます。
かなり、参考になりました。
おかげでなんとか前へ進めそうです。
頑張ってみます。

[上に] [前に] [次に]