2014-02-21 3 views
2

S3 버킷에 그림을 업로드했습니다. 파일 이름은 Müller.jpg입니다. https://s3-eu-west-1.amazonaws.com/my_bucket_name/Mu%CC%88ller.jpgAWS S3 특수 문자 인코딩

가 어떻게 파이썬 2.x에서의 동일한 인코딩을 얻을 수 있습니다

나는 웹 UI에서 파일 속성 파고, 그것은 나에게 다음과 같은 링크를 제공합니다?

>>> import urllib 
>>> name = u"Müller.jpg" 
>>> urllib.quote(name.encode('utf-8')) 
'M%C3%BCller.jpg' 

답변

4

파일 이름이 NFD 또는 NFKD로 정규화 된 것처럼 보입니다.

사용 unicodedata.normalize :

>>> import unicodedata 
>>> import urllib 
>>> name = u"Müller.jpg" 
>>> urllib.quote(unicodedata.normalize('NFD', name).encode('utf-8')) 
'Mu%CC%88ller.jpg' 
>>> urllib.quote(unicodedata.normalize('NFKD', name).encode('utf-8')) 
'Mu%CC%88ller.jpg'