- 締切済み
コードに対する疑問(eucコードとs-jisコード)
eucコードで半角カナは2バイト表現、s-jisコードは1バイト表現と認識しています。 eucコードで保有するデータが40バイトとした場合、 s-jisコードで保有するとしたら、単純に20バイトとすることで影響はありますでしょうか?
- moonlight2455
- お礼率28% (4/14)
- その他(プログラミング・開発)
- 回答数6
- ありがとう数19
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- tatsu99
- ベストアンサー率52% (391/751)
>その場合、eucコードが半角カナ、英数字、記号混在の場合、(全角漢字は含みません)40バイト⇒20バイトへ変更しても問題ないかどうかなのですが、漢字が含まれなければ、40バイト⇒20バイトへ変更しても問題ないのでしょうか? 全角漢字がない場合、例えば英数字、記号のみの場合は、EUCコードとASCIIコードは同じになります。従って、EUCの英字1文字が、s-jisのの英字1文字になります。 従って、EUCでは英字40文字が40バイトの領域に格納できます。これを格納するためには、s-jisも40バイト必要です。
- sakusaker7
- ベストアンサー率62% (800/1280)
>EUCには、半角カタカナというコードはありません。 ありますけど。 きちんとハンドリングできないツールやアプリがほとんどいうだけです。 EUC-JP - Wikipedia http://ja.wikipedia.org/wiki/EUC-JP 文字コードの話 http://euc.jp/i18n/charcode.ja.html JISやシフトJISとの大きな相違点は、半角カタカナが冷遇されていることです。 JIS漢字コードの各バイトのMSBを1にすることにより漢字を導入したため、これと重複する半角カタカナは補助的な扱いとなり、 0x8Eのプレフィクス付きの2バイトコードになっています。また、0x8Fのプレフィクスにより補助漢字も表現でき、これは3バイトになります。
お礼
ありがとうございました。 参考にさせていただきます。
EUCには、半角カタカナというコードはありません。 S-JISは、大昔、アスキーが、MS-DOSの日本語をやったときに、導入した漢字コードで、これは、半角カタカナと共存が可能です。 ですので、半角カタカナのS-JISまたは、JISを拾ってきた場合、EUCでは、ぞれを全角化して、もつしかありません。
お礼
ありがとうございました。 今後の参考にさせていただきます。
- tatsu99
- ベストアンサー率52% (391/751)
>eucコードには、半角カナ、英数字、記号が混在しています。 >混在していると、そのままのバイト数(40バイト)にしておかなければ、領域不足になるということでしょうか? はい。全て全角漢字がeucコードに入っていると、全角漢字は1文字につき2バイトをつかいますので、eucコード側では、20文字が格納可能です。一方s-jis側でも、この全角漢字は、1文字につき2バイトをつかいますので、40バイトが必要です。20バイトの場合、10文字しか格納できません。
補足
ありがとうございます。 今回の質問の背景として、 データベースのある項目をeucコードからs-jisコードへ変更しようとしています。 その場合、eucコードが半角カナ、英数字、記号混在の場合、(全角漢字は含みません)40バイト⇒20バイトへ変更しても問題ないかどうかなのですが、漢字が含まれなければ、40バイト⇒20バイトへ変更しても問題ないのでしょうか?
- tatsu99
- ベストアンサー率52% (391/751)
#1のかたが言ってますように、eucコードに何が入るかが、決定しないと、決められないとおもいます。eucコードに全角漢字が入る場合は、20バイトでは足りなくなります。
補足
どうもありがとうございます。 eucコードには、半角カナ、英数字、記号が混在しています。 混在していると、そのままのバイト数(40バイト)にしておかなければ、 領域不足になるということでしょうか?
- memphis
- ベストアンサー率40% (975/2395)
全て半角カナが入っていればいいと思いますが、英数字、記号を含んでいるとサイズが合わないです。
補足
どうもありがとうございます。 英数字・記号を含んでいると、なぜ合わなくなってくるのでしょうか?
関連するQ&A
- JISコードかASCIIコードか、EUCコードか半角カナか
C言語のプログラム上で、JISコードかASCIIコードか、EUCコードか半角カナか、 16進数にした場合、初めの1バイトがそれぞれでかぶってしまい、 区別がつきませんが、これを解決させる方法はありませんでしょうか?
- ベストアンサー
- C・C++・C#
- EUCコードをS-JISコードに変換したい
VB(4.0です(^_^;))のプログラムの中でEUCコードで英数カナ日本語混在のファイルを扱います。レコード毎、又はフィールド毎にS-JISコードに変換しながら処理をしたいのですが、その方法をご存知の方、教えて下さい。
- ベストアンサー
- Visual Basic
- EUCからS-JISへ、
問:EUCからS-JISへ、 質問者:amuro_78 LINUXからいえnWindowsにテキストファイルを送ると文字が 化けてしまいます。文字コードを変換するソフトは ないのでしょうか? 窓杜で調べてみたのですが、、よくわからなくて、、、、 お願いします。
- ベストアンサー
- フリーウェア・フリーソフト
- 文字コードの利点・欠点について
おはようございます。 文字コードには、大きく分けて4種類 ・JISコード ・S-JIS ・EUC ・Unicode がありますが、それぞれの利点・欠点を教えていただけますでしょうか。 あと、EUCはなぜ制御文字を使って、1バイト仮名や補助漢字の文字コードを割り当てているのかも教えてください。 よろしくお願いします。
- 締切済み
- オープンソース開発
- AppleScriptで文字コードをEUC→S-JISへ変換するには?
AppleScriptで文字コードをEUC→S-JISへ変換する方法をご存知の方いらっしゃいませんか? Perlを利用する方法もあるようですが、当方Perlには詳しくないため、困っております。 漢字コードのサポートはOSレベルでやってほしいものですが…。 助けてください!
- ベストアンサー
- その他(プログラミング・開発)
- JISコード変換について
String str = "アイウエオ"; byte test[] = moji.getBytes("ISO2022JP"); String ret = new String(test); 上記のプログラムで半角カナをJISコードに変換すると 文字化けしているのですが、文字化けしないようにするにはどうしたらよいでしょうか。 なお、JISコードの String test = "アイウエオ"; ← "アイウエオ"はJISコード(文字化け無しの半角カナ文字) String ret = new String(test .getBytes("ISO2022JP"),"JISAutoDetect"); これで、文字化けせずUnicodeに変換できたのですが、単純に逆に変換しただけでは、半角カナの文字は、JISコードに変換すると文字化けしてしまうのでしょうか? どなたか教えて頂けないでしょうか?
- ベストアンサー
- Java
- 文字コードEUC→SHIFT-JISにすると動作しません
http://cgikon.com/search/detail.php3?menu=1&cgi_id=412 上記の簡単なスクリプトを使いたいと思っています。 文字コードがEUCとなっており、そのままの状態で設置すれば動作します。 EUCではなく、SHIFT-JISにして動作させたいのですが、中に書かれている「EUC - JP」を「SHIFT - JIS」に書き換えて、またファイルの文字コードも「SHIFT-JIS」として保存しました。 またCSVデータも「SHIFT-JIS」に変換して保存。 変換したファイルをアップしてみましたが、表示される表の数値の箇所が真っ白になってしまいます。 一番上の行と一番左の列は表示されます。 足し算される数値の部分だけが表示されません。 どのようにすれば、EUCからシフトJISに変換して、動作させる事ができるのでしょうか。 アドバイスをお願い致します。
- ベストアンサー
- Perl
- 文字コードEUCの掲示板にWindows(S_JIS)で書き込むと文字化けする
【環境】 RedHatLinux7.2 Apache_1.3.27 CGI動作確認済み 掲示板のCGIスクリプトをサイトからDLし、Linux上のapacheで動かそうとしています。 perlのパスを通し、.cgiの文字コードをEUCに変換することで動作したのですが、文字コードの問題が発生してしまいました。 CGIがはき出す掲示板のHTMLはEUCです。Windowsのブラウザから閲覧した場合、文字コードは自動的にEUCが選択され問題ありません。 掲示板に書き込みを行った際に、文字コードの食い違いが発生してしまいます。Windowsから書き込んだ文字はS_JISなのでコードが2種類存在し、書き込んだ文字列(S_JIS)の方が文字化けしてしまうのです。 多分初歩的なことだと思うのですが、頑張ってみても解決しませんでした。どなたか、同現象になって無事解決した方いらっしゃいませんでしょうか?
- 締切済み
- その他(OS)
- EUCコードのページからの送信での文字化け対策法
EUCのhtmlページからフォーム内容をPOSTで送っているのですが、 そのデータファイルをhtmlに出力するほうのcgiはs-jisで作っています。 この場合、データ送信時にEUCをs-jisに変換して送信することって出来ますか? 出来ない場合はやっぱりcgiのほうでデータを s-jisに変換するしかありませんか?
- ベストアンサー
- CGI
- JIS、SHIFT-JIS、EUCはなぜできた?
教えてください。 文字コードについて調べています。アルファベットはASCIIコードで統一されているために、特に問題がなく、日本語にも JISコードという標準化されているコードがあります。 なので、基本的にはこれをみんなが使えば、文字化けなどという問題には悩まされなくてすむはず。 なのに、なぜ Windows では Shift-JISなどという独特な文字コードを使い、UNIX系では EUCコードを使っているのでしょう。いったい、どの文字コードが一番初めにできて、なぜそれで標準化を図ることができなかったのかなど、日本語文字コードに関する歴史について、ご存知の方、ぜひ教えていただければ幸いです。
- ベストアンサー
- その他(OS)
お礼
ありがとうございました。 疑問も解決できました。