2017-12-28 52 views
0

文字列をAzure Blobメタデータにエンコードする正しい方法は何ですか?Azure Blobメタデータエンコーディング

Azure Storage Explorerを使用している場合、C#UWPsに近い機能が使用されているようです。しかし、残念ながら、WebUtilty.UrlEncodeは空のスペースを "+"記号で置き換えます(ストレージエクスプローラはそのままスペースを保持します)

私のアプリケーションとストレージエクスプローラ間のメタデータの互換性を保つために、

おかげで、一般的には

答えて

1

、我々は任意の名前/値のペアは、非ASCII文字が含まれていない限り、値をエンコードする必要はありません。したがって、非ASCII文字を含む名前と値には、URLエンコーディングまたはBase64エンコーディングを使用することをお勧めします。

文字列を正しくデコードできるので、任意の方法を使用できます。このツールは、エンコードとデコードの仕方に影響を与えません。ストレージエクスプローラのUIで値がどのように表示されていても、アプリから得られる値はエンコードされた文字列です。

ストレージエクスプローラで同じエンコード/デコード方法を使用する場合は、私の側でテストして、Uri.EscapeUriStringメソッドを試してみてください。これにより、領域が%20にエンコードされ、ストレージエクスプローラが正しくデコードできるようになります。

string escapetest= Uri.EscapeDataString(specialvalue); 
blockBlob.Metadata["category"] = escapetest; 
関連する問題