オブジェクトの C# 配列を文字列にシリアル化および逆シリアル化する最速の方法を探しています...
なぜバイト配列ではなく文字列なのですか? さて、私はネットワーキングシステム(具体的にはUnity3dネットワーキングシステム)で作業しており、バイト配列またはカスタムタイプの送信を許可しないというかなり面倒な制限を課しています.2つの必要なものです(私の状況を説明するのは難しいです) .
これに対して私が思いついた最も簡単な解決策は、オブジェクト配列を直接送信するのではなく、カスタム型を文字列にシリアル化し、その文字列を送信することです。
それで、それが問題です!オブジェクト配列を文字列にシリアル化する最速の方法は何ですか? Unity3d がそれらをカリングするかどうかわからないので、ブードゥー文字 (目に見えない/特殊文字) の使用を避けたいと思いますが、base64 エンコーディングは許可された文字スペクトルを十分に活用していません。また、base 64 の使用効率も気になります。
明らかに、これはネットワーク関連であるため、シリアル化されたデータをできるだけ小さくすることはプラスです。
編集:
これを行う1つの可能な方法は、バイト配列にシリアル化し、そのバイト配列が文字列であるふりをすることです。問題は、.Net 2.0 または Unity のネットワーク システムが、この方法を使用して作成された特殊文字または目に見えない文字の一部を選別することになるのではないかと心配していることです...これは非常に避ける必要があります。私は、これとほぼ同等の速度を持つソリューションを望んでいますが、カリングされる可能性のある文字は使用しません。(これらが何の文字かはわかりませんが、バイト配列から文字列への直接変換に関しては、Unityで悪い経験をしました)