タグ付けされた質問 「character-encoding」

文字エンコードとは、文字が一連のバイトとして表される方法を指します。Webの文字エンコーディングは、Encoding Standardで定義されています。

30
エンコーディングを手動で指定せずに、C#で文字列の一貫したバイト表現を取得するにはどうすればよいですか?
どのようにして変換しないstringにbyte[]手動で特定のエンコーディングを指定せずに、.NET(C#)で? 文字列を暗号化します。変換せずに暗号化することはできますが、ここでエンコードが機能する理由を知りたいのですが。 また、エンコードを考慮する必要があるのはなぜですか?文字列が格納されているバイトを簡単に取得できませんか?なぜ文字エンコーディングに依存しているのですか?

3
Python 3で文字列をバイトに変換する最良の方法?
TypeErrorへの回答に示されているように、文字列をバイトに変換するには2つの異なる方法があるようです: 'str'はバッファーインターフェイスをサポートしていません これらの方法のうち、Pythonicの方が優れているか、より優れているでしょうか?それとも個人的な好みの問題ですか? b = bytes(mystring, 'utf-8') b = mystring.encode('utf-8')






16
デフォルトのJava文字エンコードの設定
JVM(1.5.x)で使用されるデフォルトの文字エンコーディングをプログラムで適切に設定するにはどうすればよいですか? -Dfile.encoding=whatever古いJVM を使用する方法であった方法を読んだことがあります。私が入らない理由のために、私はその贅沢はありません。 私が試してみました: System.setProperty("file.encoding", "UTF-8"); そして、プロパティは設定されますが、getBytes以下の最後の呼び出しでUTF8を使用するようには見えません: System.setProperty("file.encoding", "UTF-8"); byte inbytes[] = new byte[1024]; FileInputStream fis = new FileInputStream("response.txt"); fis.read(inbytes); FileOutputStream fos = new FileOutputStream("response-2.txt"); String in = new String(inbytes, "UTF8"); fos.write(in.getBytes());


3
MySQLのutf8mb4とutf8文字セットの違いは何ですか?
違いは何であるutf8mb4とutf8で文字セットMySQLは? ASCII、UTF-8、UTF-16、UTF-32エンコーディングについてはすでに知っています。しかしutf8mb4、MySQLサーバーで定義されている他のエンコードタイプとのエンコードグループの違いを知りたいです。 utf8mb4ではなく使用することの特別な利点/提案はありutf8ますか?

5
ハイフンの後の改行なし
ハイフンの後の改行を、-すべてのブラウザーと互換性のあるケースバイケースで防止したいと考えています。 例: 私はこのテキストを持っています: 3-3/8"これはHTMLでこれです: 3-3/8” 問題は、行の終わり近くで、ハイフンが原因で、完全な単語のように扱うのではなく、改行して次の行に折り返されることです... 3- 3/8" 「ゼロ幅ノーブレイク文字」を挿入しようとしましたが、運がありません... 3-3/8” 私はこれをSafariで確認しており、すべてのブラウザで同じになると考えています。 以下は、私のdoctype文字エンコーディングです... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> ハイフンの後の改行を防ぐ方法はありますか?ページ全体に当てはまる解決策は必要ありません...機能するものを除いて、「ゼロ幅の改行なし文字」のように、必要に応じて挿入できるものだけです。 こちらがデモです。ハイフンで改行するまで枠を狭くしてください。 http://jsfiddle.net/RagKH/

18
MySQLのデフォルトの文字セットをmy.cnfでUTF-8に変更しますか?
現在、PHPで次のコマンドを使用して、アプリケーションの文字セットをUTF-8に設定しています。 これは少しオーバーヘッドなので、MySQLのデフォルト設定としてこれを設定します。/etc/my.cnfまたは別の場所でこれを実行できますか? SET NAMES 'utf8' SET CHARACTER SET utf8 /etc/my.cnfでデフォルトの文字セットを探しましたが、文字セットについては何もありません。 この時点で、MySQLの文字セットと照合変数をUTF-8に設定するために次のことを行いました。 skip-character-set-client-handshake character_set_client=utf8 character_set_server=utf8 これはこれを処理する正しい方法ですか?

24
エンコーディングを検出してすべてをUTF-8にする
さまざまなRSSフィードから多くのテキストを読み取ってデータベースに挿入しています。 もちろん、フィードではいくつかの異なる文字エンコードが使用されています(UTF-8やISO 8859-1など)。 残念ながら、テキストのエンコーディングに問題がある場合があります。例: 「サッカー」の「ß」は、私のデータベースでは「Ÿ」のようになります。「Ÿ」の場合、正しく表示されます。 「サッカー」の「ß」が私のデータベースでは「likeƒÂŸ」のようになることがあります。もちろん、誤って表示されます。 その他の場合、「ß」は「ß」として保存されるため、何も変更されません。その後、それも誤って表示されます。 ケース2と3を回避するにはどうすればよいですか? すべてを同じエンコーディング、できればUTF-8にするにはどうすればよいですか?いつ使用する必要があるかutf8_encode()、いつ使用する必要があるかutf8_decode()があるか(効果は何であるかは明らかですが、いつ関数を使用する必要がありますか?)、いつ入力を使用して何もしなければなりませんか? すべてを同じエンコーディングにするにはどうすればよいですか?たぶん機能とはmb_detect_encoding()?このための関数を書くことはできますか?だから私の問題は: テキストが使用するエンコーディングを確認するにはどうすればよいですか? どのようにしてUTF-8に変換しますか-古いエンコーディングが何であれ? このような機能は機能しますか? function correct_encoding($text) { $current_encoding = mb_detect_encoding($text, 'auto'); $text = iconv($current_encoding, 'UTF-8', $text); return $text; } 私はそれをテストしました、しかしそれは働きません。どうしたの?

6
「コンテンツタイプ:application / json; charset = utf-8」は本当に意味ですか?
JSONボディを含むPOSTリクエストをRESTサービスにContent-type: application/json; charset=utf-8送信するとき、メッセージヘッダーに含めます。このヘッダーがないと、サービスからエラーが発生します。部分がContent-type: application/jsonなくても問題なく使用でき;charset=utf-8ます。 正確には何をしcharset=utf-8ますか?文字エンコーディングを指定していることはわかっていますが、サービスがなくてもサービスは正常に動作します。このエンコードにより、メッセージ本文に含めることができる文字が制限されますか?

12
なぜBase64を使用するのですか?
ウィキペディアは言う Base64エンコードスキームは、テキストデータを処理するように設計されたメディアを介して保存および転送する必要があるバイナリデータをエンコードする必要がある場合に一般的に使用されます。これは、転送中にデータが変更されることなくそのままであることを保証するためです。 しかし、私たちのマシンが持っているメモリはバイナリを格納し、それはあなたがそれをどのように解釈するかに依存するので、データは常にバイナリで格納/送信されるということではありませんか?したがって、ビットパターン010011010110000101101110をManASCII としてエンコードする場合でもTWFu、Base64 としてエンコードする場合でも、最終的には同じビットパターンを格納することになります。 究極のエンコーディングがゼロと1に関するものであり、すべてのマシンとメディアがそれらを処理できる場合、データがASCIIまたはBase64として表されているかどうかはどうですか? 「テキストデータを扱うように設計されたメディア」とはどういう意味ですか?彼らはバイナリを扱うことができます=>彼らは何をでも扱うことができます。 みなさん、ありがとうございます。 データを送信するとき、意図したとおりの形式でデータが解釈されるかどうかはわかりません。したがって、両方の当事者が理解できる何らかの形式(Base64など)でコード化されたデータを送信します。同じ方法で送信者と受信者が異なる方法で解釈しても、コード化された形式に同意するため、データが誤って解釈されることはありません。 Mark Byersの例から 送りたい場合 Hello world! 1つの方法は、次のようにASCIIで送信することです。 72 101 108 108 111 10 119 111 114 108 100 33 ただし、バイト10は、反対側の改行として正しく解釈されない場合があります。したがって、ASCIIのサブセットを使用して、次のようにエンコードします 83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61 同じ情報量で転送されるデータが増えるという犠牲を払って、レシーバーが残りの文字セットの解釈が異なる場合でも、レシーバーが意図した方法でデータをデコードできるようにします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.