teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

RFCへのリンク追加

2017/01/10 04:54

投稿

ikedas
ikedas

スコア4441

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  (回答が間違っていたので全面修正しました)
2
2
 
3
- ここで使われているのはオリジナルの[BASE64符号化](https://ja.wikipedia.org/wiki/Base64)ではなく「BASE64URL符号化」という変型版のようです。
3
+ ここで使われているのはオリジナルの[BASE64符号化](https://ja.wikipedia.org/wiki/Base64)ではなく「BASE64URL符号化」という変型版のようです ([RFC 4648](https://tools.ietf.org/html/rfc4648#), §5)
4
4
 
5
5
  BASE64URLでは、BASE64の「`+`」「`/`」の代わりに「`-`」、「`_`」を使います。
6
6
 

1

回答が間違っていたので全面修正しました

2017/01/10 04:54

投稿

ikedas
ikedas

スコア4441

answer CHANGED
@@ -1,7 +1,7 @@
1
- 変換に用いているデータが、いろいろおかしいす。
1
+ (回答が間違っていたの全面修正しました)
2
2
 
3
- - BASE64符号化したデータには出現し得ない「`-`」や「`_`」が含まれています。
4
- - デコードした結果は文字コードがUTF-8のテキストのようですが、UTF-8ではありえないバイトの並びが現れます。
5
- - かろうじて正しくデコードきる部分も、もとのテキストを細切れにしてランダムにつなぎあせたようになっていて、意味の取る文になっていません (もともとテクスト宮沢賢治『セロ弾きゴーシュ』ではないか思われま)
3
+ ここ使われていのはオリジナル[BASE64符号化](https://ja.wikipedia.org/wiki/Base64)ではなく「BASE64URL符号化」いう変型版のようです。
6
4
 
5
+ BASE64URLでは、BASE64の「`+`」「`/`」の代わりに「`-`」、「`_`」を使います。
6
+
7
- まず同じメール方法で取得・閲覧して、正しく表示されるかを確認してみて下さい。結果がわかりしたらご質問に追記下さい
7
+ ですのでこれらの文字オリジナルものに置換してからbase64\_decode()で変換すれば、正しくデコードでき