How can i decrypt the encrypted UNICODE values of name,dob,number,date and place? here i include the code below...

1 view (last 30 days)
clc;
clear all;
close all;
name = input('Enter name of the customer:');
dob = input('Enter dob of the customer in following formate "4-nov-1993":');
pn = input('Enter passort number of the customer:');
id = input('Enter issue date of the customer:');
ip = input('Enter issue place of the customer:');
n = length(name);
c = [];
for i = 1:n
if isletter(name(i))
pt = char(name(i));
if pt == 'A' | pt == 'a'
c = [c 'U+0041'];
elseif pt == 'B'| pt == 'b'
c = [c 'U+0042'];
elseif pt == 'C'| pt == 'c'
c = [c 'U+0043'];
elseif pt == 'D'| pt == 'd'
c = [c 'U+0044'];
elseif pt == 'E'| pt == 'e'
c = [c 'U+0045'];
elseif pt == 'F'| pt == 'f'
c = [c 'U+0046'];
elseif pt == 'G'| pt == 'g'
c = [c 'U+0047'];
elseif pt == 'H'| pt == 'h'
c = [c 'U+0048'];
elseif pt == 'I'| pt == 'i'
c = [c 'U+0049'];
elseif pt == 'J'| pt == 'j'
c = [c 'U+004A'];
elseif pt == 'K'| pt == 'k'
c = [c 'U+004B'];
elseif pt == 'L'| pt == 'l'
c = [c 'U+004C'];
elseif pt == 'M'| pt == 'm'
c = [c 'U+004D'];
elseif pt == 'N'| pt == 'n'
c = [c 'U+004E'];
elseif pt == 'O'| pt == 'o'
c = [c 'U+004F'];
elseif pt == 'P'| pt == 'p'
c = [c 'U+0050'];
elseif pt == 'Q'| pt == 'q'
c = [c 'U+0051'];
elseif pt == 'R'| pt == 'r'
c = [c 'U+0052'];
elseif pt == 'S'| pt == 's'
c = [c 'U+0053'];
elseif pt == 'T'| pt == 't'
c = [c 'U+0054'];
elseif pt == 'U'| pt == 'u'
c = [c 'U+0055'];
elseif pt == 'V'| pt == 'v'
c = [c 'U+0056'];
elseif pt == 'W'| pt == 'w'
c = [c 'U+0057'];
elseif pt == 'X'| pt == 'x'
c = [c 'U+0058'];
elseif pt == 'Y'| pt == 'y'
c = [c 'U+0059'];
elseif pt == 'Z'| pt == 'z'
c = [c 'U+005A'];
break;
end
end
end
dobn = datenum(dob);
dob1 = num2str(dobn);
n1 = length(dob1);
c1 = [];
for i = 1:n1
pt1 = dob1(i);
if pt1 == 0
c1 = [c1 'U+0030'];
elseif pt1 == '1'
c1 = [c1 'U+0031'];
elseif pt1 == '2'
c1 = [c1 'U+0032'];
elseif pt1 == '3'
c1 = [c1 'U+0033'];
elseif pt1 == '4'
c1 = [c1 'U+0034'];
elseif pt1 == '5'
c1 = [c1 'U+0035'];
elseif pt1 == '6'
c1 = [c1 'U+0036'];
elseif pt1 == '7'
c1 = [c1 'U+0037'];
elseif pt1 == '8'
c1 = [c1 'U+0038'];
elseif pt1 == '9'
c1 = [c1 'U+0039'];
end
end
pn1 = num2str(pn);
n2 = length(pn1);
c2 = [];
for i = 1:n2
pt2 = pn1(i);
if pt2 == '0'
c2 = [c2 'U+0030'];
elseif pt2 == '1'
c2 = [c2 'U+0031'];
elseif pt2 == '2'
c2 = [c2 'U+0032'];
elseif pt2 == '3'
c2 = [c2 'U+0033'];
elseif pt2 == '4'
c2 = [c2 'U+0034'];
elseif pt2 == '5'
c2 = [c2 'U+0035'];
elseif pt2 == '6'
c2 = [c2 'U+0036'];
elseif pt2 == '7'
c2 = [c2 'U+0037'];
elseif pt2 == '8'
c2 = [c2 'U+0038'];
elseif pt2 == '9'
c2 = [c2 'U+0039'];
end
end
idn = datenum(id);
id1 = num2str(idn);
n3 = length(id1);
c3 = [];
for i = 1:n3
pt3 = id1(i);
if pt3 == '0'
c3 = [c3 'U+0030'];
elseif pt3 == '1'
c3 = [c3 'U+0031'];
elseif pt3 == '2'
c3 = [c3 'U+0032'];
elseif pt3 == '3'
c3 = [c3 'U+0033'];
elseif pt3 == '4'
c3 = [c3 'U+0034'];
elseif pt3 == '5'
c3 = [c3 'U+0035'];
elseif pt3 == '6'
c3 = [c3 'U+0036'];
elseif pt3 == '7'
c3 = [c3 'U+0037'];
elseif pt3 == '8'
c3 = [c3 'U+0038'];
elseif pt3 == '9'
c3 = [c3 'U+0039'];
end
end
n4 = length(ip);
c4 = [];
for i = 1:n4
if isletter(ip(i))
pt4 = char(ip(i));
if pt4 == 'A' | pt4 == 'a'
c4 = [c4 'U+0041'];
elseif pt4 == 'B'| pt4 == 'b'
c4 = [c4 'U+0042'];
elseif pt4 == 'C'| pt4 == 'c'
c4 = [c4 'U+0043'];
elseif pt4 == 'D'| pt4 == 'd'
c4 = [c4 'U+0044'];
elseif pt4 == 'E'| pt4 == 'e'
c4 = [c4 'U+0045'];
elseif pt4 == 'F'|| pt4 == 'f'
c4 = [c4 'U+0046'];
elseif pt4 == 'G'| pt4 == 'g'
c4 = [c4 'U+0047'];
elseif pt4 == 'H'| pt4 == 'h'
c4 = [c4 'U+0048'];
elseif pt4 == 'I'| pt4 == 'i'
c4 = [c4 'U+0049'];
elseif pt4 == 'J'| pt4 == 'j'
c4 = [c4 'U+004A'];
elseif pt4 == 'K'| pt4 == 'k'
c4 = [c4 'U+004B'];
elseif pt4 == 'L'| pt4 == 'l'
c4 = [c4 'U+004C'];
elseif pt4 == 'M'| pt4 == 'm'
c4 = [c4 'U+004D'];
elseif pt4 == 'N'| pt4 == 'n'
c4 = [c4 'U+004E'];
elseif pt4 == 'O'| pt4 == 'o'
c4 = [c4 'U+004F'];
elseif pt4 == 'P'| pt4 == 'p'
c4 = [c4 'U+0050'];
elseif pt4 == 'Q'| pt4 == 'q'
c4 = [c4 'U+0051'];
elseif pt4 == 'R'| pt4 == 'r'
c4 = [c4 'U+0052'];
elseif pt4 == 'S'| pt4 == 's'
c4 = [c4 'U+0053'];
elseif pt4 == 'T'| pt4 == 't'
c4 = [c4 'U+0054'];
elseif pt4 == 'U'| pt4 == 'u'
c4 = [c4 'U+0055'];
elseif pt4 == 'V'| pt4 == 'v'
c4 = [c4 'U+0056'];
elseif pt4 == 'W'| pt4 == 'w'
c4 = [c4 'U+0057'];
elseif pt4 == 'X'| pt4 == 'x'
c4 = [c4 'U+0058'];
elseif pt4 == 'Y'| pt4 == 'y'
c4 = [c4 'U+0059'];
elseif pt4 == 'Z'| pt4 == 'z'
c4 = [c4 'U+005A'];
end
end
end

Answers (1)

Stephen23
Stephen23 on 12 Feb 2016
Edited: Stephen23 on 12 Feb 2016
Just use sprintf and sscanf:
>> str = input('Enter the name of the customer: ','s');
Enter the name of the customer: sarah
>> ucd = sprintf('U+%04X',upper(str))
ucd =
U+0053U+0041U+0052U+0041U+0048
>> out = char(sscanf(ucd,'U+%X')).'
out =
SARAH
Your code is very inefficient as you expand the output character array on every loop iteration (read about array preallocation to know why this is a bad idea).
Repeated lines of code make the algorithm be hard to read, hard to check, and hard to maintain. Because it requires making lots of changes by hand it is liable to be buggy, and can then be very difficult to change all instances of that (copied and changed) line.
Using sprintf and sscanf will be much more efficient, and are easier to read and will be less buggy.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!