スポンサーリンク

Base64

http://ja.wikipedia.org/wiki/Base64 より。

Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。具体的には、A-Z, a-z, 0-9 までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。この変換によって、データ量は4/3になる。また、MIMEの基準では76文字ごとに改行コードが入るため、この分の2バイトを計算に入れるとデータ量は約138%となる。

URLSafe

base64した結果に得られる値に、 +, /, = が含まれる。

/ は、ディレクトリの区切りとして使う。
+ は、空白の代わりに使う。
= は、パラメータの区切り文字として使う(ex. q=hoge)。

よって、上記3つの文字を含みたくない。
そこで、 +, /, = を別の影響のない文字列に置き換えてしまえばよい。

置き換えるパターンは、なんでもよいが

元の文字 置換したあとの文字
/ .
= -
+ =

に置き換えてみる。

URLSafeなBase64エンコード/デコード関数

PHP用。

<?php
function base64_encode_urlsafe($s){
	$s = base64_encode($s);
	return(str_replace(array('+','=','/'),array('_','-','.'),$s));
}
function base64_decode_urlsafe($s){
	$s = (str_replace( array('_','-','.'), array('+','=','/'), $s));
	return(base64_decode($s));
}
?>

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー