Snippet #40
Language: Objective-C, Author: Michele Balistreri
License: Public domain
These functions are useful if you communicate with a Java application via the JNI. As their name implies they are used to convert NSStrings to Java strings and viceversa.
NSString *JavaStringToNSString(JNIEnv *env, jstring aString)
{
if(aString == NULL)
return nil;
const jchar *chars = (*env)->GetStringChars(env, aString, NULL);
NSString *resultString = [NSString stringWithCharacters:(UniChar *)chars length:(*env)->GetStringLength(env, aString)];
(*env)->ReleaseStringChars(env, aString, chars);
return resultString;
}
jstring NSStringToJavaString(JNIEnv *env, NSString *aString)
{
if(aString == nil)
return NULL;
jsize buflength = [aString length];
unichar buffer[buflength];
[aString getCharacters:buffer];
return (*env)->NewString(env, (jchar *)buffer, buflength);
}Compatible with:
- Mac OS X 10.3
- Mac OS X 10.4 PPC
- Mac OS X 10.4 Intel
- Mac OS X 10.5 PPC
- Mac OS X 10.5 Intel
Comments
Comment feed
