找到解决方案时遇到一些麻烦。
我想采用一个大的有序文本文件,并以相同的顺序创建一个固定长度数值的文本文件。
例如:
Input File Output File
AAA -> 00000001
AAH -> 00002718
AAZ -> 71827651
最初似乎哈希函数会起作用。然而,他们是一种方式。也许他们对此有点“重量级”。毕竟,我不需要任何加密。另外,它是一个参考文件。它永远不会改变。
任何压缩都是不必要的奖励。也就是说,我不希望文件比现有文件更大。这就是为什么我不只是想把文字写成文字而是用固定的长度。
所以,底线; input是一个可变长度的NSString,输出是一个固定长度的整数。并且,我必须能够取整数并找出字符串。
非常感谢任何帮助!
谢谢!
XJ
答案 0 :(得分:0)
嗯,这将是一种蛮力方法,但这是我的猜测。
首先制作一个自定义函数,将一个文本字母转换为一个小于100的整数。(我不确定这样的函数是否已经存在,如果是这样那么太棒了!)你可能需要去做像“if([input isEqual:@”a“]){return 1;}
然后,在每个文本字母上运行该函数,并通过组合先前的结果获得最终整数。
例如:
int myVal1 = [intConverter firstLetter]; int myVal2 = [intConverter secondLetter]; int myVal3 = [intConverter thirdLetter];
int finalValue = 100 ^ 3 + 100 ^ 2 * myVal1 + 100 * myVal2 + myVal3;
然后,finalValue的形式为1(myVal1)(myVal2)(myVal3),这是我认为你正在寻找的。 p>
要获取原始字符串,只需使用mod(%)和除法函数来获取各个值,然后向后运行intConverter函数。 (这可能意味着编写一个新函数,基本上反向运行那些if语句,但是很好。)
我希望这会有所帮助。