Use for-loop on characters in a textfile
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Josh Samnja
le 18 Sep 2018
Réponse apportée : Walter Roberson
le 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 commentaires
Walter Roberson
le 18 Sep 2018
double(text) would apply double() to the entire vector of characters individually.
Réponse acceptée
Walter Roberson
le 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Encryption / Cryptography dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!