Use for-loop on characters in a textfile
11 views (last 30 days)
Show older comments
Josh Samnja
on 18 Sep 2018
Answered: Walter Roberson
on 18 Sep 2018
I have a plain text file that is going to be encrypted - where I'll use double as part of the process. I read the text file
text = fileread('textfile.txt')
Then I need to get the letters into numbers
lettertoNumber = double(text)
Now comes the part I'm struggling with. I need to have a for-loop that goes through lettertoNumber, which also needs to take lower/captial letters into consideration.
for ii = 1:length(lettertoNumber)
?? = ???????
?? = ???????
end
Greatly appreciate any input.
3 Comments
Walter Roberson
on 18 Sep 2018
double(text) would apply double() to the entire vector of characters individually.
Accepted Answer
Walter Roberson
on 18 Sep 2018
Use lookup tables. Like
MAP_INVALIDS_TO = -1;
mapping = zeros(1,255) + MAP_INVALIDS_TO;
mapping('a':'z') = 1:26;
mapping('A':'Z') = 1:26;
mapped = mapping(text); %valid to use characters as indices
mapped(mapped == MAP_INVALIDS_TO) = []; %delete characters that had no mapping
Modified versions of this can be used for situations such as encoding the other characters as pairs of values, or for using "shift-in" / "shift-out" to switch between encodings.
0 Comments
More Answers (0)
See Also
Categories
Find more on Encryption / Cryptography in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!