2017-12-28 12 views
0

Azure Blob 메타 데이터에 문자열을 인코딩하는 올바른 방법은 무엇입니까?Azure Blob 메타 데이터 인코딩

Azure 저장소 탐색기를 사용할 때 C# UWP에 가까운 함수 인 WebUtiliy.UrlEncode이 사용 된 것 같습니다. 그러나 불행하게도 WebUtilty.UrlEncode는 공백을 "+"기호로 바꿉니다 (저장 장치 탐색기는 공백을 그대로 유지합니다)

다른 기본 인코딩 방법이있어서 응용 프로그램과 저장소 탐색기간에 메타 데이터의 호환성을 유지할 수 있습니까?

감사 일반적으로

답변

1

, 우리는 이름/값 쌍에 비 ASCII 문자를 포함하지 않는 값을 인코딩 할 필요가 없습니다. 따라서 비 ASCII 문자가 포함 된 이름과 값에 URL 인코딩 또는 Base64 인코딩을 사용하는 것이 좋습니다.

문자열을 올바르게 디코딩 할 수 있기 때문에 원하는대로 사용할 수 있습니다. 이 도구는 인코딩 및 디코딩 방식에 영향을 미치지 않습니다. 스토리지 탐색기 UI에서 값이 표시되는 방법과 상관없이 앱에서 가져온 값은 인코딩 된 문자열입니다.

저장소 탐색기에서 동일한 인코딩/디코딩 방식을 사용하려면 내 측면에서 테스트하여 Uri.EscapeUriString 메서드를 사용해보십시오. 이 공간을 %20으로 인코딩하면 저장소 탐색기가 올바르게 디코딩 될 수 있습니다.

string escapetest= Uri.EscapeDataString(specialvalue); 
blockBlob.Metadata["category"] = escapetest; 
관련 문제