<p>I'm writing a sample console service host and I want to plug into WCF stack to be able to print a message to console when new message arrives, even if it won't get processed by the service at the moment (because service is working on previous calls).
This is based on my assumption that messages arriving get queued by the WCF, is that correct?</p>

<p>Additionally, I'm using netTcpBinding if this is important. </p>

You don't want to decode the string into a Unicode representation, you just want to treat it as an array of bytes, right?
Just use
```
PyString_FromString
```
:
```
```
char *cstring;
PyObject *pystring = PyString_FromString(cstring);
```
```
That's all.  Now you have a Python
```
str()
```
object.  See docs here:
https://docs.python.org/2/c-api/string.html
I'm a little bit confused about how to specify "str" or "unicode."  They are quite different if you have non-ASCII characters.  If you want to decode a C string
and
you know exactly what character set it's in, then yes,
```
PyString_DecodeString
```
is a good place to start.