0

この質問は純粋に理論的なものであり、正しい方法に関するものではありませんが、char 'x' をネットワーク形式に変換する必要がありますか? 私は常に/時々/決して私は個人的に私がすべきだと思うが、私はあなたよりも確認する必要がある.

4

2 に答える 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 に答える