Попробую поюзать что нибудь в плане перевода из юникода в ascii, мб что нибудь получится:
void UtoA(){
FILE *Ansi_file,*Unicode_file; //файл ANSI и UNICODE
int bytes_read=1; //кол-во считанных байт
unsigned char Ansi_buf[1]; //1-байтовый Ansi буфер
unsigned char Unic_buf[2]; //2-байтовый UNICODE буфер
//пути к файлам ANSI и UNICODE
char *Apath=(char*)calloc(255,sizeof(char));
char *Upath=(char*)calloc(255,sizeof(char));
//ввод имен файлов
printf("Enter filename (unicode format):\n");
scanf("%s",Upath);
printf("Enter filename (ansi format):\n");
scanf("%s",Apath);
//открытие файлов
Unicode_file=fopen(Upath,"rb");
Ansi_file=fopen(Apath,"wb");
if(Unicode_file==NULL||Ansi_file==NULL){
printf("Error opening file\n");
}
//проверка на кодировку UNICODE
fread(Unic_buf,2,1,Unicode_file);
if(Unic_buf[0]!=0xFF&&Unic_buf[1]!=0xFE){
printf("This is not a unicode file!\n");
}
//считывание и перекодировка байтов из UNICODE в ANSI
while((bytes_read=fread(Unic_buf,2,1,Unicode_file))>0){
if(Unic_buf[1]!=0x04){
Ansi_buf[0]=Unic_buf[0];
}
else{
if(Unic_buf[0]==0x01)
Ansi_buf[0]=0xA8;
else if(Unic_buf[0]==0x51)
Ansi_buf[0]=0xB8;
else
Ansi_buf[0]=Unic_buf[0]+0xB0; //перекодировка русских символов
}
fwrite(Ansi_buf,1,1,Ansi_file); //запись перекодированных байт в файл
}while(bytes_read>0);
//освобождение памяти
free(Apath);free(Upath);
//закрытие файлов
fclose(Unicode_file);
fclose(Ansi_file);
}Вот такой код в гугле нагел, а еще WideCharToMultiByte,
BOOL CharToOem(
LPCTSTR lpszSrc, // string to translate (ANSI, Unicode)
LPSTR lpszDst // translated string (OEM)
);
вот такие функции погуглить, хз как они в C++builder-е выглядят
>>P.S> я могу ошибаться, подождем гуру +