如何在S3元数据中存储重音字符?

时间:2014-12-09 11:26:18

标签: java scala utf-8 amazon-s3

我正在尝试将重音字符(例如ò)存储在S3对象的元数据中。我正在使用REST API,根据此页面只接受US-ASCII:http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html

有没有办法将Scala或Java中的字符串从Bòrd转换为B\u00F2rd

我尝试过使用Normalizer.normalize(str, Normalizer.Form.NFD),但提交给S3的字符仍然会导致错误,因为它显示为ò。当我尝试打印出返回的String时,它也显示ò

1 个答案:

答案 0 :(得分:1)

规范化的unicode字符串只是根据组成字符进行规范化,而不一定是ASCII。使用NFKC更有可能将字符转换为ASCII格式,但肯定不会可靠地这样做。

听起来你想要的是转义非ascii字符。你可以用例如UnicodeEscaper来自commons-lang,UnicodeUnescaper来翻译。