Если вы действительно хотите преобразовать строку текста в числовое значение, вы можете просто добавить числовое значение ASCII для каждого символа.Это, конечно, не надежная контрольная сумма, и вы можете столкнуться с проблемами, если текст имеет более высокие значения Unicode.
В C вы можете сделать (быстро и грязно):
#include<stdio.h>
#include<string.h>
int main(){
int k = 0;
int value = 0;
char text[]="this is a piece of text.";
char c;
for(k=0; k<strlen(text); k++){
c = text[k];
value = value + c;
printf("char %c has value %d\n", c, c);
}
printf("total value is: %d\n", value);
return 0;
}
Вывод:
char t has value 116
char h has value 104
char i has value 105
char s has value 115
char has value 32
char i has value 105
char s has value 115
char has value 32
char a has value 97
char has value 32
char p has value 112
char i has value 105
char e has value 101
char c has value 99
char e has value 101
char has value 32
char o has value 111
char f has value 102
char has value 32
char t has value 116
char e has value 101
char x has value 120
char t has value 116
char . has value 46
total value is: 2147
Обратите внимание, что это ни в коем случае не безопасный и эффективный подход к обеспечению того, чтобы файл был тем, чем он должен быть (контрольная сумма).Если вы хотите, чтобы «значение» было присвоено данному потоку текста, попробуйте SHA-1 хеш-функцию.