Added string conversion API
* bin * pad * unpad * conversion bin/hex/dec
This commit is contained in:
parent
5a692b9f2b
commit
ee04c6ff67
@ -114,7 +114,7 @@ function debug(/**/) {
|
|||||||
var args = arguments;
|
var args = arguments;
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for(var i = 0; i < args.length; i++){
|
for(var i = 0; i < args.length; i++){
|
||||||
if(typeof args[i] == "object") {
|
if(typeof args[i] === "object") {
|
||||||
msg += " " + JSON.stringify(args[i])
|
msg += " " + JSON.stringify(args[i])
|
||||||
} else {
|
} else {
|
||||||
msg += args[i]
|
msg += args[i]
|
||||||
@ -155,3 +155,60 @@ navigator.qt.onmessage = function(ev) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.eth._0 = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||||
|
String.prototype.pad = function(len) {
|
||||||
|
var bin = this.bin();
|
||||||
|
var l = bin.length;
|
||||||
|
if(l < 32) {
|
||||||
|
return eth._0.substr(0, 32 - bin.length) + bin;
|
||||||
|
}
|
||||||
|
|
||||||
|
return bin;
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.unpad = function() {
|
||||||
|
var i, l;
|
||||||
|
for(i = 0, l = this.length; i < l; i++) {
|
||||||
|
if(this[i] != "\0") {
|
||||||
|
return this.substr(i, this.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.substr(i, this.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.bin = function() {
|
||||||
|
if(this.substr(0, 2) == "0x") {
|
||||||
|
return this.hex2bin();
|
||||||
|
} else if(/^\d+$/.test(this)) {
|
||||||
|
return this.num2bin()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise we'll return the "String" object instead of an actual string
|
||||||
|
return this.substr(0, this.length)
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.unbin = function() {
|
||||||
|
var i, l, o = '';
|
||||||
|
for(i = 0, l = this.length; i < l; i++) {
|
||||||
|
var n = this.charCodeAt(i).toString(16);
|
||||||
|
o += n.length < 2 ? '0' + n : n;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "0x" + o;
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.hex2bin = function() {
|
||||||
|
bytes = []
|
||||||
|
|
||||||
|
for(var i=2; i< this.length-1; i+=2){
|
||||||
|
bytes.push(parseInt(this.substr(i, 2), 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
return String.fromCharCode.apply(String, bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.num2bin = function() {
|
||||||
|
return ("0x"+parseInt(this).toString(16)).bin()
|
||||||
|
}
|
||||||
|
@ -123,6 +123,8 @@ ApplicationWindow {
|
|||||||
function onObjectChangeCb(stateObject) {
|
function onObjectChangeCb(stateObject) {
|
||||||
postEvent("object:"+stateObject.address(), stateObject)
|
postEvent("object:"+stateObject.address(), stateObject)
|
||||||
}
|
}
|
||||||
|
function onStorageChangeCb() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@ -21,7 +21,7 @@ function createTransaction() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
eth.set({width: 500, title: "Hello world"})
|
eth.set({width: 500})
|
||||||
|
|
||||||
eth.getKey(function(key) {
|
eth.getKey(function(key) {
|
||||||
eth.getStorageAt(jefcoinAddr, key, function(storage) {
|
eth.getStorageAt(jefcoinAddr, key, function(storage) {
|
||||||
|
Loading…
Reference in New Issue
Block a user