この質問は純粋に理論的なものであり、正しい方法に関するものではありませんが、char 'x' をネットワーク形式に変換する必要がありますか? 私は常に/時々/決して私は個人的に私がすべきだと思うが、私はあなたよりも確認する必要がある.
質問する
74 次
2 に答える
3
いいえ、char は 1 バイト値なので、エンディアンは関係ありません
于 2013-02-03T21:41:53.903 に答える
3
あなたが考えているように(エンディアン、ntohs ntohlなど...)、いいえ。
それほど基本的ではありませんが、ネットワークにバインドされていない警告を発生させる必要があります。エンコーディングが添付されていない文字列は読み取り不能です。
ネットワーク経由であるかどうかにかかわらず、文字列「Français」を送信/保存しているとします。「ç」は、文字エンコーディングを使用してエンコードする必要があります。文字エンコーディングを指定しないということは、utf8 を使用してエンコードした場合に "Français" と読むことができることを意味しますが、読者はそれが latin1 であると考えていました。
したがって、2 つのソリューションがあります。
- 同じ char エンコーディングのみを使用するアプリケーションの仕様を書き留めます
- 将来の文字列 (HTTP など) のエンコードを指定するヘッダーのどこかにメタデータを配置します。
于 2013-02-03T21:46:16.083 に答える