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

2
ファイルのエンコードを検出する方法は?
私のファイルシステム(Windows 7)には、いくつかのテキストファイルがあります(重要な場合、これらはSQLスクリプトファイルです)。 Notepad ++で開くと、「エンコード」メニューで「UCS-2リトルエンディアン」と「BOMなしのUTF-8」のエンコードが報告されます。 ここの違いは何ですか?それらはすべて完全に有効なスクリプトのようです。Notepad ++なしでファイルにどのエンコーディングが含まれているかをどのように確認できますか?

5
UTF-8よりもASCIIエンコードを選択する利点は何ですか?
ASCIIのすべての文字は、ストレージを増やすことなくUTF-8を使用してエンコードできます(どちらも1バイトのストレージが必要です)。 UTF-8には、「ASCII文字」を超える文字サポートの利点があります。その場合は、なぜ我々がします今までに UTF-8を超えるASCIIエンコードを選ぶのか? UTF-8の代わりにASCIIを選択するユースケースはありますか?

2
なぜ多くのハッシュされ暗号化された文字列が等号で終わるのですか?
私はC#とMSSQLを使用していますが、ご想像のとおり、パスワードはソルトおよびハッシュされて保存されています。 nvarchar列に格納されているハッシュを見ると(たとえば、すぐに使用できるaspnetメンバーシッププロバイダー)。生成されたSaltとHashの値が常に1つまたは2つの等号で終わるように見えるのは、常に興味がありました。 暗号化アルゴリズムを使用しているときに似たようなものを見てきましたが、これは偶然ですか、それとも理由がありますか?

3
Microsoft SQL Serverで文字列の前にNを置く必要があるのはなぜですか?
T-SQLを学んでいます。私が見た例から、varchar()セルにテキストを挿入するために、挿入する文字列だけを書くことができますが、nvarchar()セルの場合、すべての例は文字列の前に文字Nを付けます。 nvarchar()行があるテーブルで次のクエリを試しましたが、正常に機能するため、プレフィックスNは必要ありません。 insert into [TableName] values ('Hello', 'World') 私が見たすべての例で、文字列の先頭にNが付いているのはなぜですか? このプレフィックスを使用することの長所と短所は何ですか?

8
UTF-8(および多分UTF-16 / UTF-32)以外の文字エンコーディングは非推奨ですか?
私の大嫌いな人は、文字セットをサポートするための山のようなコードを持つ非常に多くのソフトウェアプロジェクトを見ています。誤解しないでください、私はすべて互換性があるので、テキストエディタを使用して複数の文字セットでファイルを開いたり保存したりできることを嬉しく思います。私を悩ますのは、非ユニバーサル文字エンコーディングの急増が「問題」ではなく「適切なUnicodeサポート」とラベル付けされていることです。 たとえば、PostgreSQLとその文字セットサポートを選択します。PostgreSQLは2種類のエンコーディングを扱います。 クライアントのエンコード:クライアントとサーバー間の通信で使用されます。 サーバーのエンコード:データベースにテキストを内部的に保存するために使用されます。 多くのクライアントエンコーディングをサポートすることが良いことである理由を理解できます。UTF-8で動作しないクライアントは、変換を実行する必要なくPostgreSQLと通信できます。取得できないのは、PostgreSQLが複数のサーバーエンコーディングをサポートしている理由です。データベースファイルは(ほとんどの場合)PostgreSQLバージョン間で互換性がないため、ここではバージョン間の互換性は問題になりません。 UTF-8は、すべてのUnicodeコードポイントをエンコードできる唯一の標準のASCII互換文字セットです(間違っている場合はお知らせください)。私は、UTF-8が最高の文字セットであるという陣営にいますが、UTF-16やUTF-32などの他のユニバーサル文字セットに我慢します。 すべての非ユニバーサル文字セットは廃止されるべきだと思います。彼らがすべきではない説得力のある理由はありますか?

7
復帰文字は廃止と見なされますか
構造化されたデータを解析するオープンソースライブラリを作成しましたが、要点がわからないため、意図的にキャリッジリターン検出を省略しました。追加の複雑さとオーバーヘッドが追加され、ほとんど/まったく利点がありません。 驚いたことに、ユーザーがパーサーが機能していなかったバグを提出しました。問題の原因は、データがLFまたはCRLFではなくCR行の終わりを使用していることにあります。 UNIXベースのプラットフォームに切り替えてから、OSXはLFスタイルの行末記号を使用していませんか? 行末を明示的にCRを使用するように変更できるNotepad ++のようなアプリケーションがあることは知っていますが、なぜだれがそうしたいのかわかりません。 (何らかの理由で)古いMac OSスタイルの行末を決定する統計的に重要でない割合のユーザーのサポートを除外しても安全ですか? 更新: 明確にするために、Windowsの行末記号(CRLFなど)のサポートには、CRトークンの認識は必要ありません。効率化のため、字句解析器は文字ごとに一致します。CR文字を静かに無視することにより、CRLFトークンはLFに単純化されます。そのため、CRLFトークン自体は時代錯誤とみなすことができますが、それはこの質問の目的ではありません。 CRスタイルの行末をシステム全体でサポートする最後のOSはMac OS 9でした。皮肉なことに、OSXでデフォルトとして使用している唯一のアプリケーションはMicrosoft Excelです。

5
ユニコードではなく日本語固有のエンコーディングを使用するように導く問題は何ですか?
職場では、Shift-JISなどのエンコーディングの日本語のテキストファイルがたくさんあります。それは多くの原因が文字化け(判読できない文字)すべてのコンピュータユーザのための問題を。Unicodeは、すべての言語に単一の文字セットを定義することでこの種の問題を解決することを目的としており、インターネットでの使用にはUTF-8シリアル化が推奨されます。それでは、なぜ皆が日本語固有のエンコーディングからUTF-8に切り替えないのでしょうか?UTF-8のどのような問題や不利な点が人を引きつけていますか? 編集:W3CはUnicodeに関するいくつかの既知の問題をリストしていますが、これも理由でしょうか?

4
UTF-8がエンコードでいくつかのビットを浪費する理由
ウィキペディアの記事によると、UTF-8の形式は次のとおりです。 最初のコード最後のコードバイトバイト1バイト2バイト3バイト4 ポイントポイント使用済み U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 07FF 2 110xxxxx 10xxxxxx U + 0800 U + FFFF 3 1110xxxx 10xxxxxx 10xxxxxx U + 10000 U + 1FFFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx xは、このビットを使用してコードポイントを選択することを意味します。 これにより、各継続バイトで2ビット、最初のバイトで1ビットが無駄になります。UTF-8が次のようにエンコードされないのはなぜですか? 最初のコード最後のコードバイトバイト1バイト2バイト3 ポイントポイント使用済み U + 0000 U + …

2
UTF-16は固定幅ですか、可変幅ですか?UTF-8にバイト順の問題がないのはなぜですか?
UTF-16は固定幅ですか、可変幅ですか?さまざまなソースからさまざまな結果が得られました。 http://www.tbray.org/ongoing/When/200x/2003/04/26/UTFから: UTF-16は、Unicode文字を16ビットのチャンクに格納します。 http://en.wikipedia.org/wiki/UTF-16/UCS-2から: UTF-16(16ビットUnicode変換フォーマット)は、0〜0x10FFFFのUnicodeコードスペースで1,112,064 [1]数(コードポイントと呼ばれる)をエンコードできるUnicodeの文字エンコードです。コードポイントごとに1つまたは2つの16ビットコード単位の可変長の結果を生成します。 最初のソースから UTF-8には、エンコードの単位がバイトであるという利点もあるため、バイト順序の問題はありません。 UTF-8にバイト順の問題がないのはなぜですか?可変幅であり、1文字に複数のバイトが含まれている可能性があるため、バイトオーダーが依然として問題になると思いますか? よろしくお願いします!

3
ソースコードはUTF-8である必要がありますか?
多くの場合、コードの形式を実際に選択しないと思います。つまり、過去の私のツールのほとんどが私のために決定したということです。または私は本当にそれについてさえ考えていません。先日WindowsでTextPadを使用していて、ファイルを保存していると、ASCII、UTF-8 / 16、Unicodeなどについてプロンプトが表示されました... 書かれたコードのほとんどすべてがASCIIであると想定していますが、なぜそれがASCIIである必要があるのですか?ソースコードに実際にUTF-8ファイルを使用する必要がありますか。その理由は何ですか。これは多言語チームに役立つかもしれないと思います。多言語チームが変数/関数などに名前を付ける方法に関連する標準はありますか?

2
電子メールの解析に関して、UTF-7はどの程度関連性がありますか?
私は最近、アプリケーションと男の子に受信メールを実装しましたが、地獄の門を開けましたか?それ以来、隔日でメールが届き、アプリが別の方法で失敗します。 それらの1つは、UTF-7としてエンコードされた電子メールです。ほとんどの電子メールは、ASCII、ラテンエンコーディングの一部、またはありがたいことにUTF-8として送信されます。 Hotmailのエラーメッセージ(メールアドレスが存在しない、割り当てが超過しているなど)は、UTF-7として送信されているようです。残念ながら、UTF-7はRubyが理解できるエンコーディングではありません。 > "hello world".encode("utf-8", "utf-7") Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8) > Encoding::UTF_7 => #<Encoding:UTF-7 (dummy)> 私のアプリケーションはクラッシュせず、実際にはメールを非常にうまく処理しますが、潜在的なエラーに関する通知を送信します。 私はしばらくグーグルで過ごしましたが、少なくともRuby 1.9.3 Encoding :: Converterとしてではなく、変換を実装した人を見つけることができません。 だから、私の質問は、UTF-7で実際の人から実際のコンテンツを含む電子メールを受け取ったことがないので、そのエンコーディングはどの程度関連があるのでしょうか。安全に無視できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.