Добрый день! Подскажите пожалуйста. В переменной есть фраза, ее я по символьно записываю в файл на SD карту. В файл записываются какие-то иероглифы китайские. Что делать ?
Код (Text): SD.remove("itog.txt"); //Удаляем файл File fileWriteItog = SD.open("itog.txt",FILE_WRITE); // File fileWriteItog; // fileWriteItog = SD.open("itog.txt",FILE_WRITE); if(fileWriteItog){ for (int i=0; i<count_long; i++) { if(SIMVOL_SHIFR[i]=='0') { M_i[count_int]=0; } if(SIMVOL_SHIFR[i]=='1') { M_i[count_int]=1; } if(SIMVOL_SHIFR[i]=='2') { M_i[count_int]=2; } if(SIMVOL_SHIFR[i]=='3') { M_i[count_int]=3; } if(SIMVOL_SHIFR[i]=='4') { M_i[count_int]=4; } if(SIMVOL_SHIFR[i]=='5') { M_i[count_int]=5; } if(SIMVOL_SHIFR[i]=='6') { M_i[count_int]=6; } if(SIMVOL_SHIFR[i]=='7') { M_i[count_int]=7; } if(SIMVOL_SHIFR[i]=='8') { M_i[count_int]=8; } if(SIMVOL_SHIFR[i]=='9') { M_i[count_int]=9; } count_int++; if(SIMVOL_SHIFR[i]==',') { if((count_int)==4) Chislo_x=100*M_i[0]+10*M_i[1]+M_i[2]; if((count_int)==3) Chislo_x=10*M_i[0]+M_i[1]; count_int=0; } if(SIMVOL_SHIFR[i]==';') { count_itog++; if((count_int)==4) Chislo_y=100*M_i[0]+10*M_i[1]+M_i[2]; if((count_int)==3) Chislo_y=10*M_i[0]+M_i[1]; itog[0]=Chislo_x;//хранение int mass шифр коорд itog[1]=Chislo_y; gf = SLOVO_GAMMA2[count_itog];//одна буква гаммы // Serial.println(BukvaToKoord_GAMMA[0]); //Serial.println(SLOVO_GAMMA_2[count_itog]); //Serial.print("===="); Serial.println(count_itog); Serial.println("Koordinati zashifrovannie:"); Serial.print(itog[0]);Serial.print(','); Serial.println(itog[1]); //Serial.println(gf); Serial.println("Simvol gamma:"); Serial.println(gf); //=???????? PEREVOD_GAMMA(gf);// буква коорд // Serial.print(BukvaToKoord_GAMMA[0]); MASSIV_GAMMA[0]=BukvaToKoord_GAMMA[0]; MASSIV_GAMMA[1]=BukvaToKoord_GAMMA[1]; Serial.println("Koordinati gamma:"); Serial.print(MASSIV_GAMMA[0]);Serial.print(','); Serial.println(MASSIV_GAMMA[1]); long x4, y4; long x1,X1, x2,X2, x3, y1, y2, y3, L = 0, L1; long U[]={0,0}; long P0[]={0,0}; P0[0]=itog[0]; P0[1]=mod(-itog[1],p); x1 =X1= P0[0]; y1 = P0[1]; x2 = X2 = MASSIV_GAMMA[0]; y2 = MASSIV_GAMMA[1]; if (itog != MASSIV_GAMMA) L = mod(((y2 - y1) * mod_inverse(x2 - x1, p)), p); if (itog == MASSIV_GAMMA) L = mod((3 * (QuickPow(x1, 2) - 1) * mod_inverse(2 * y1, p)), p); L1 = L; x3 = mod((QuickPow(L, 2) - X1 - X2), p); y3 = mod((L1 *(X1 - x3) - y1), p); V[0] = x3; V[1] = y3; // POINT_ADD(P0,MASSIV_GAMMA,p) ; U[0]=V[0]; U[1]=V[1]; x4=U[0]; y4=mod (-U[1],p); S[0] = x4; S[1] = y4; //Serial.println(S[0]); Serial.println(":"); Serial.print(S[0]);Serial.print(','); Serial.println(S[1]); // Serial.println(SIMVOL_SHIFR[1]); // Serial.println(S); PEREVOD_2(S); char itog_char=Point_to_bukva[0]; Serial.println(itog_char); fileWriteItog.println(itog_char); count_int=0; } } fileWriteItog.close(); }
Самого интересного то и не хватает в коде. Делается куча всего разного, а в итоге на флешку пишется первый элемент массива Point_to_bukva, который в этому куске кода и не показан: char itog_char=Point_to_bukva[0]; fileWriteItog.println(itog_char);