0

自分のNFSサーバーを実装しましたが、すべてが正常に機能していますが、ASCII標準の一部ではない文字をエンコードするにはどうすればよいですか?XDR RFCによると、文字列はASCIIとしてエンコードされ、ASCII以外の文字はすべて削除されますか?しかし、私が書いたことがないnfsサーバーを起動すると、それらの文字がサポートされているようです...

「hejåäö」という名前のフォルダーを作成しようとしましたが、nfsクライアントに正しく表示されます。WireSharkで送信されたデータを見ると、文字列「hej \ 345 \ 344\366」または16進数の「68656a20e5e4f6」が表示されます。これは?

また、「hej 1 + 1=2」をエンコードしてみてください。

edUTF-7を試してみてください。åäöではうまく機能しましたが、+では機能しなかったため、UTF-7ではありません。

4

2 に答える 2

1

コードセットはISO8859-1または8859-15のように見えます(表示されている記号は両方に共通しているため、どちらかはわかりません)。

  • å=0xE5= 0345
  • ä=0xE4= 0344
  • ö=0xF6= 0366

仕様はおそらく古く、他のNFSサーバーと同じように、上位(8番目)のビットが設定された文字を送信する必要があります。


ISO8859-1と8859-15の区別

2つのコードセットの違い(Unicode文字マッピングを含む)は、この出力に示されています(diff8859-1および8859-15の文字に相当するUnicodeを定義するファイル間から派生)。

ISO 8859-1

  • A4 U+00A4通貨記号
  • A6 U+00A6壊れたバー
  • A8 U+00A8分音記号
  • B4 U+00B4アキュートアクセント
  • B8 U+00B8セディーユ
  • BC U + 00BC VULGAR FRACTION ONE QUARTER
  • BD U + 00BD VULGAR FRACTION ONE HALF
  • BE U + 00BE VULGAR FRACTION THREE QUARTERS

ISO 8859-15

  • A4 U+20ACユーロ記号
  • A6 U+0160ラテン大文字Sキャロン付き
  • A8 U + 0161 LATIN SMALL LETTER S WITH CARON
  • B4 U+017Dラテン大文字Zキャロン付き
  • B8 U + 017E LATIN SMALL LETTER Z WITH CARON
  • BC U + 0152 LATIN CAPITAL LIGATURE OE
  • BD U + 0153 LATIN SMALL LIGATURE OE
  • 分音記号付きのU+0178ラテン大文字Y
于 2009-09-30T17:04:41.950 に答える
0

私が思い出すと、NFSサーバーはエンコーディングを非常にひどく扱います。

ファイル名のどの文字のバイトも0または0x2Fであってはならず、最大長は255バイトです。

したがって、UTF-8でエンコードされたファイル名の人気。

于 2009-09-30T20:19:59.927 に答える