| Index | Submit class | Submit snippet | Submission feed | List |

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:


Comments

Name

Website

Do you hate spammers? (Answer "Yes")