// impl B32Encode<u64,String> for B32<String>{
// fn encode(data:u64)->String{
// let ptr=(&data as *const u64) as *const u8;
// return b32_encode_8(ptr,8,ALPHABET32_ENCODE.as_ptr());
// }
// }
// impl B32Decode<String,u64> for B32<u64>{
// fn validation(data:String)->B32DecodeError{
// return b32_validation(data.as_ptr(),data.len(),ALPHABET32_DECODE.as_ptr(),1,0b1000,16,16);
// }
// fn decode(data:String)->Result<u64,B32DecodeError>{
// let ptr_data=data.as_ptr();
// let len_data=data.len();
// let ptr_alphabet=ALPHABET32_DECODE.as_ptr();
//
// let error=b32_validation(ptr_data,len_data,ALPHABET32_DECODE.as_ptr(),1,0b1000,16,16);
// if error!=B32DecodeError::Null {return Err(error)};
//
// let mut n=0u64;
// b32_decode_8(ptr_data,len_data,ptr_alphabet,&mut n,1);
// return Ok(n);
// }
// unsafe fn unsafe_decode(data:String)->u64{
// let mut n=0u64;
// b32_decode_8(data.as_ptr(),data.len(),ALPHABET32_DECODE.as_ptr(),&mut n,1);
// return n;
// }
// }