@Спецназа: задочният ни спор с Гогата беше колко от ползваните от Уин/М$ кодировки поддържащи кирилица са изобретение на М$, а не колко общо кодироки с кирилица поддържа ОС включвайки и разните му там от IBM, ISO etc.
а сега към колегата
- (не съм експерт но) на Гедит (след отваряне - 1251) търси опция в SaveAs (with NEW encoding)
Re: Change Encoding of a Text File
Open the file in Gedit and select 'Save As' from the file menu. You can save it in different character encoding from 'Character Coding' menu.
- ако някой ти предлага програма на С/С++ внимавай - най-вероятно ще ти даде изпълним файл който може и да ти криптира целия диск и после да ти иска откуп
- а защо С ++ програмка а не напр. ПХП или Питон ще спести някоко стотин реда код - даже ще се хване на едно екранче.. аз затова много си тача Щирлиц-а там даже не трябва и да се пише код (върви и под WINE)
...
Споменаването на "ДОС кирилица" -та не е заяждане от моя страна,
просто е важно; ако някой се сблъска с такъв "енкодинг", да знае
за какво иде реч, и как да работи с него.
---
Какви изпълними файлове, какъв откуп !?!
Ето примерна програма,която конвертира "ДОС кирилица" към 1251
//------------------------------------- convert.c-----------------------------------
#include <stdio.h>
#include <stdlib.h>
void main(){
FILE *f,*f2; int i,sz; unsigned char *ms,*uk;
f=fopen("dos.txt","r");
if (f==NULL){ printf("error"); exit(0); }
fseek(f, 0L, SEEK_END); sz = ftell(f);
printf("size: %d",sz);
ms=malloc(sz);
fseek(f, 0, SEEK_SET);
fread(ms,sz,1,f); fclose(f);
uk=ms;
for (i=0;i<sz;i++){
if (*uk>(unsigned char)127 && *uk<(unsigned char)192) *uk=*uk+64;
uk++;
}
f2=fopen("win.txt","w");
fwrite(ms,sz,1,f2); fclose(f2);
}
//----------------------------------------------------------------------------------------
Компилиране:
gcc -o convert convert.c
Програмата отваря "dos.txt" (ако не съществува,извежда грешка).
Заделя памет (malloc),чете файла (fread). После обхожда масива
и конвертира символите, създава "win.txt" и записва в него.
Разбира се,програмата е съвсем семпла, и само илюстрира принципа.
Къде виждаш криптиране на диск или на файлове ?
И къде са някокостотинте реда код ?
И защо на С/С++ ли ?
Ами защото това са сериозни езици, все пак операционните с-ми се
пишат на С/С++ и асемблер,няма как за тази цел да се използват
PHP , Python и други подобни.
Това,което може да се направи на PHP и Python, може да се направи на
С/С++, обратното не е вярно.
П.С. Днес съм в настроение,иначе бих написал, че
PHP,Perl,Python(нищо лично,4кб),basic,ruby и особено javascript са пародии
на езици за програмиране,както си е всъщност.
Разбира се има и още,но горните са най-известни ...