WEB开发网
开发学院手机开发Symbian 开发 Symbian S60 平台简体汉字处理浅谈 阅读

Symbian S60 平台简体汉字处理浅谈

 2010-02-25 04:37:00 来源:WEB开发网   
核心提示:User::Leave(KErrArgument);}CleanupStack::PopAndDestroy(2); // characterSetConverter UnicodeStringUnicodeString 即为Unicode编码的字串,可以直接用于显示及写文件等操作,Symbian S60 平台简体汉字

User::Leave(KErrArgument);

}

CleanupStack::PopAndDestroy(2); // characterSetConverter UnicodeString

UnicodeString 即为Unicode编码的字串,可以直接用于显示及写文件等操作。简体汉字串的显示除了编码问题,还要注意字体的选择,特别是对UI控件,最好是用 LatinBold12()(2版),AknLayoutUtils::FontFromId( ELatinBold12 )(3版)。简体汉字串显示的相关文档,例程很多,在这里就不多说了。至于文件中读写简体汉字串则要提几点注意:

1.自己写自己读

借助Symbian的文件服务将字串写入文件,一般都是带格式的,文件的首字符用来表示紧跟字串的长度和编码,所以不是什么文件都可以读的,例如用记事本编辑的文件一般就无法正确读出,除非写对了格式,而这种格式手工写是很烦琐的。所以对于程序内部文件读写,最好是:拿什么写就用什么读,要拿什么读就用什么写。

2.UTF-8编码简体汉字串读写文件

无论是从资源文件中读取的,还是.cpp中定义的UTF-8编码字串,都可以直接写直接读,无需编码转换。例如:

//写文件

_LIT( KFileName, "\private\xxxxxxxx\aTextFile.txt" );

RFs FileServerSession;

User::LeaveIfError(FileServerSession.Connect());

RFile file;

if ( file.Replace(FileServerSession, KFileName, EFileWrite ) != KErrNone )

{

return;

}

CleanupClosePushL( file );

_LIT( KUTF8String, "简体汉字串");//或者HBufC* UTF8ResourceString = StringLoader::LoadLC( R_UTF8_RESOURCE_STRING );

RFileWriteStream StreamWriteToFile( file );

CleanupClosePushL( StreamWriteToFile );

StreamWriteToFile << KUTF8String;//或者StreamWriteToFile << *UTF8ResourceString

CleanupStack::PopAndDestroy(2); //file StreamWriteToFile

//读文件

RFs FileServerSession;

RFile file;

User::LeaveIfError(FileServerSession.Connect());

CleanupClosePushL(FileServerSession);

User::LeaveIfError(file.Open(FileServerSession,KHelloFileName, EFileStreamText));

上一页  1 2 3 4 5 6  下一页

Tags:Symbian 平台

编辑录入:coldstar [复制链接] [打 印]
赞助商链接