Base64 هو برنامج تشفير/فك ترميز Base64 قوي ومتوافق تمامًا مع atob()
و btoa()
، ومكتوب بلغة JavaScript. إن خوارزميات التشفير وفك التشفير base64 التي تستخدمها متوافقة تمامًا مع RFC 4648.
عبر نبم:
npm install base-64
في المتصفح:
< script src =" base64.js " > </ script >
في Narwhal وNode.js وRingoJS:
var base64 = require ( 'base-64' ) ;
في وحيد القرن:
load ( 'base64.js' ) ;
باستخدام محمل AMD مثل RequireJS:
require (
{
'paths' : {
'base64' : 'path/to/base64'
}
} ,
[ 'base64' ] ,
function ( base64 ) {
console . log ( base64 ) ;
}
) ;
base64.version
سلسلة تمثل رقم الإصدار الدلالي.
base64.encode(input)
تأخذ هذه الوظيفة سلسلة بايت (معلمة input
) وتقوم بتشفيرها وفقًا لـ base64. يجب أن تكون بيانات الإدخال في شكل سلسلة تحتوي فقط على أحرف في النطاق من U+0000 إلى U+00FF، يمثل كل منها بايتًا ثنائيًا بقيم من 0x00
إلى 0xFF
. تم تصميم الدالة base64.encode()
لتكون متوافقة تمامًا مع btoa()
كما هو موضح في معيار HTML.
var encodedData = base64 . encode ( input ) ;
لترميز base64 لأي سلسلة Unicode، قم بتشفيرها كـ UTF-8 أولاً:
var base64 = require ( 'base-64' ) ;
var utf8 = require ( 'utf8' ) ;
var text = 'foo © bar ? baz' ;
var bytes = utf8 . encode ( text ) ;
var encoded = base64 . encode ( bytes ) ;
console . log ( encoded ) ;
// → 'Zm9vIMKpIGJhciDwnYyGIGJheg=='
base64.decode(input)
تأخذ هذه الوظيفة سلسلة مشفرة بـ base64 (معلمة input
) وتقوم بفك تشفيرها. القيمة المرجعة تكون على شكل سلسلة تحتوي على أحرف فقط في النطاق من U+0000 إلى U+00FF، يمثل كل منها بايتًا ثنائيًا بقيم من 0x00
إلى 0xFF
. تم تصميم الدالة base64.decode()
لتكون متوافقة تمامًا مع atob()
كما هو موضح في معيار HTML.
var decodedData = base64 . decode ( encodedData ) ;
لفك تشفير البيانات المشفرة باستخدام UTF-8 باستخدام base64 مرة أخرى في سلسلة Unicode، قم بفك تشفيرها باستخدام UTF-8 بعد فك تشفيرها بواسطة base64:
var encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg==' ;
var bytes = base64 . decode ( encoded ) ;
var text = utf8 . decode ( bytes ) ;
console . log ( text ) ;
// → 'foo © bar ? baz'
تم تصميم base64 للعمل في Node.js v0.10.0، وNarwhal 0.3.2، وRingoJS 0.8-0.9، وPhantomJS 1.9.0، وRhino 1.7RC4، بالإضافة إلى الإصدارات القديمة والحديثة من Chrome وFirefox وSafari وOpera. وإنترنت إكسبلورر.
بعد استنساخ هذا المستودع، قم بتشغيل npm install
لتثبيت التبعيات اللازمة للتطوير والاختبار. قد ترغب في تثبيت إسطنبول عالميًا باستخدام npm install istanbul -g
.
بمجرد الانتهاء من ذلك، يمكنك تشغيل اختبارات الوحدة في العقدة باستخدام npm test
أو node tests/tests.js
. لإجراء الاختبارات في متصفحات Rhino وRingo وNarwhal ومتصفحات الويب أيضًا، استخدم grunt test
.
لإنشاء تقرير تغطية الكود، استخدم grunt cover
.
ماتياس بينينز |
Base64 متاح بموجب ترخيص MIT.