Oracle, Unicode and NVARCHAR2, oh my

I'm the first to admit that I'm by no means an Oracle guru.  I'm familiar enough to connect to the database and use it, but don't ask me any design or configuration information that applies specifically ro Oracle (as opposed to SQL databases in general).  As a result, I wouldn't normally comment on anything associated with Oracle, for fear of looking plain silly.  Still, this little tidbit caught more than just me, so I feel a little safer.

I was trying to insert a string into an NVARCHAR2(64) database field.  The statement itself was pretty straightforward (and modified slightly, for simplicity).

INSERT INTO table (key, stringfield) VALUES (1, 'this is a string longer than 32 characters')

Since the code was coming from .NET, I wasn't surprised that the values being inserted were Unicode.  What did surprise me was the 'value too long' exception that was thrown when this statement was executed.  It seems that when you define an Oracle field as NVARCHAR2(64), you are really only allowing for a maximum of 32 Unicode characters.  In order words, the 64 is the number of bytes taken up by the field, not the number of Unicode characters that can be stored.  Talk about a mental disconnect.  I took about 15 minutes longer to address the problem then I might have while made sure I wasn't missing something obvious.  So consider yourself warned.